Add validation of --options passed to commands

Change definition of validateArguments function to have 3 parameters - add new isInTestMode parameter in order to validate the knownOptions when our tests are executed. The reason is that when we start our tests, process.argv[1] is _mocha and the validation logic is not executed.
Fix escaping of single quotes as it is not needed. Add break condition when the option requires string and user had passed empty one (empty after trimming). This is required as if you call appbuilder simulate --path "" we should not execute the command as the path is not valid.
Add new ErrorCode. Change error message when incorrect parameter is passed. Validation will be triggered only for appbuilder.js execution.
Validate arguments passed to command line. The execution stops when the argument is not part of known options or if it requires value, but the user had not passed one. The function will not validate the arguments if the command is _mocha (used for our tests).

Add profile-dir to common known options.

http://teampulse.telerik.com/view#item/262916
http://teampulse.telerik.com/view#item/250186 (+1 squashed commits)