- Added a cli option --create-user.
- Handled user exists case in user creation template.

For 2nd case we only create a user if it does not exist. If the user exists the bootstrap will eventually fail during auth, worst case scenario where user exists and password matches the bootstrap will go through.

Currently there isn't a clean feedback solution to know whether the ec2 user-data scripts created the user or it already existed, i.e. knife cli cannot know what happened on the VM with the userdata script which is run by aws when the machine is provision. This will only help if we want to fail bootstrap if user exists.

There are couple of ways this can be made to work:
1> the userdata scripts writes a status file to say C: drive and the bootstrap templates needs to be updated to check for status file and continue on bootstrap, this is not feasible in knife, since if the user already exists and may have a different password, then winrm auth itself will fail.
2> second option is the user-data script uses ec2 api to add a tag to mark successful creation of user, which can be polled from knife cli, but adding a tag from VM would require api key and secret which may not be feasible as it will get stored in user-data.
http://stackoverflow.com/a/16578488

Again all this will only help if we want to fail bootstrap if user exists.