Newly created projects now come with .abignore
.abignore is now part of the project templates
Merge pull request #477 from Icenium/abignore-ab26

Abignore ab26
Added profile-dir to common known options. Added function to validate arguments passed to command line and break the execution in case the argument is not part of known options or if the argument requires value, but the user had not passed one. Change options to use function from common helpers to validate and parse yargs arguments.
PR Comments - re-factoring and tests

Use osenv for defaultProfileDir as it is platform independent. Add fail message when directory passed to init command does not exist. Add validateYargsArguments tests.
PR Comments - add tests

Add tests for empty string value of known option and value with spaces only. This way we verify that even if the passed value to known option is valid string, but its value after trimming is empty, we will not execute the command.
PR comments - re-factoring tests

Use new optional parameter of validateYargsArguments - isInTestMode, to trigger validation for passed options. Remove process.argv[1] changes from the tests, as they could cause unexpected behavior.