added apiserver and api client implemenation of change password.

Added the change-password user command
feedback from review

added more tests to the change-password command
Added --generate and --password flags.

Try to revert the password if the environinfo write fails
cleaned up the change-password jenv file interface, simplified the usermanager test

use readpass from latest utils
make sure api user of tags is consistent with existing apis
don't call it a tag if it isn't
Merge pull request #108 from mattyw/set-password-command

added apiserver and api client implementation of change password.

Added the api server and client set password command

Added the change-password user command

Thing to consider: 
> SetPassword only lets you change the password of the currently logged in user. Should the api really force this or should the commands force this behaviour (but not allowing the user to be specified)

> The change-password command writes the new password back to the yaml. Maybe the new file should be output as well?