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?
I know that canWrite isn't real yet but I don't see any code that sets Tag on the client side either.  

Regardless, there's some debate about whether tags or usernames should get used for the usermanager API. See the comment inside the ModifyUser struct as well as the identity spec. Initially we were moving towards using usernames but now I think usermanager is probably going to be tag based. This will be clearer once the identity spec is finalised.

For now SetPassword should either use Username or Tag but not both. The other usermanager APIs use usernames so you could use that for consistency but we're ultimately going for tags so it wouldn't be bad to use them either.