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
Add new proof of access put logic
remove unused function type
move windows specific code to windows file
introduce mustOsVersion
Fix tests for osx
Fix windows version
wording
Various test tweaks, code review fixes
provider/azure: use affinity group in vnet site

Revert change based on observations of vnet
related issues. Azure console displays advisory
warning about vnets tied to locations, suggesting
vnets be tied to affinity groups to mitigate.
make sure api user of tags is consistent with existing apis
Add link to docs
rename mustOsVersion to mustOSVersion
tweak
Patching values twice is bad, m'kay
don't call it a tag if it isn't
Add uniter.Unit.WatchAddresses

Uses state.Machine.WatchAddresses behind the scenes.