* Integrate with terraform-client-go for hcl only mode to eliminate `terraform` binary
Integrate with terraform-client-go for hcl only mode to eliminate `terraform` binary. This improves the performance (quicker speed and lower footprint) of importing.
To use it, users have to explicitly specify a new hidden flag (`--tfclient-plugin-go`). This flag is hidden since it is not supposed for CLI users to use, but is meant to be used by module users who wants to get the benefit of performance improvement.
* refactor
* Export ImportItem/List to pkg
* Remove meta2 reference
* Remove meta2 reference
* Move `Batch` out of `Config`
* Not chdir in test
* Remove write file sync
* Improve `ImportParalle` to allow it accept list longer than paralleism
* Differentiate exported Config and internally used cfg types for (non)interactive mode && add comments for exported types
* revert the vm acctest to use os profile ubuntu 16.04
* pass gosec
* `Meta` methods accept context
Moving the interactive output dir check code from `NewBaseMeta()` to CLI before function as the `NewBaseMeta()` is meant to be used by 3rd-party modules, which is inappropriate to hold code requires user's interactions.