Add validation of  --options passed to commands

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
Yep, the problem is with options which are not Boolean, but the user had not passed value to them. For example if you write appbuilder simulate --path, the path option will receive value true. This is default yargs behavior. So we want to break the execution if such situation happens. However in our knownOptions we have some Booleans, which will be correctly set to true/false, so we shouldn't break the execution: appbuilder simulate --verbose . If we remove the first check, the second one will return true in this case and we'll stop the execution, which is not correct.