Publish WP8 apps in AppManager

refs http://teampulse.telerik.com/view#item/275349
Merge pull request #62 from telerik/totev/tam-wp8

Publish WP8 apps in AppManager
Updated underscore to 1.6 for the sexy new APIs
Share autocompletion service
Merge pull request #64 from telerik/totev/underscore16

Updated underscore to 1.6 for the sexy new APIs
Changes after code review
Merge pull request #66 from telerik/fatme/autocompletion

Share autocompletion service
Add ability to select a particular avd for $appbuilder emulate android

Needed to implement http://teampulse.telerik.com/view#item/276157
Extract guid creating into a dedicating helper function
Merge pull request #68 from telerik/totev/fix-init

Extract guid creating into a dedicating helper function
Merge pull request #67 from telerik/totev/android-emulator-image

Add ability to select a particular avd for $appbuilder emulate android
Hooks service
Merge pull request #63 from telerik/fatme/hooks

Hooks service
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)
Merge pull request #69 from telerik/vladimirov/validate-command-options

Add validation of  --options passed to commands
Remove validation of common options

Remove validation of common options and move the logic of validation outside of lib. This is required as when you pass option that's not common, but is still valid, validating the common options would cause process exit. Add validation of shorthands options in validateYargsArguments. Add validation for boolean options - if you pass value to a boolean known option, the process exits.

Remove validation of common options

Remove validation of common options and move the logic of validation outside of lib. This is required as when you pass option that's not common, but is still valid, validating the common options would cause process exit. Add validation of shorthands options in validateYargsArguments. Add validation for boolean options - if you pass value to a boolean known option, the process exits.
Merge pull request #71 from telerik/vladimirov/validating-command-arguments

Remove validation of common options
Work in progress.

Fix Help command. Command's canExecute is with highest priority when validating command arguments. allowedParameters is mandatory for all ICommand instances. Remove name from ICommandParameter definition. Use $errors.fail instead of $logger.fatal when validating arguments. Add analytics command.
Use command-params from lib/common for initialization of simple StringCommandParameter. StringCommandParameter has one additional argument to show correct error message when failing. Remove helpers registerCommand method.