Fixing issue 1284 and --no-ssh-password paramater handling logic

Reference: 
https://github.com/Azure/azure-sdk-tools-xplat/issues/1284
https://github.com/Azure/azure-sdk-tools-xplat/issues/658
https://github.com/Azure/azure-sdk-tools-xplat/issues/1003
https://github.com/Azure/azure-sdk-tools-xplat/issues/1041
yes, yes you should. On all the invocations - the callback should be invoked once, you're calling it multiple times with multiple errors.

If you want to report multiple errors, collect them into an array or something and then return them all at once. Calling code will assume the callback only fires once.