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
Patch version number in some bootstrap tests to allow tests to pass with non-dev version number
remove unused function type
move windows specific code to windows file
introduce mustOsVersion
Fix tests for osx
Fix windows version
wording
Set build number rather than minor version to simulate dev version
utils/ssh: set ServerAliveInterval option

Bootstrapping Azure was seeing the CLI
hang at "apt-get upgrade" with no further
output or command completion. Inspection
of cloud-init-output.log on the server
showed that the bootstrap procedure
completed successfully.

The problem appears to be due to the
"apt-get upgrade" taking a long time on
Azure: over 6 minutes. This inactivity
causes the ssh server to discontinue sending
output to the client. To resolve the issue
we need to ensure the ssh client sends
keepalive messages to the server.

Fixes https://bugs.launchpad.net/juju-core/+bug/1316185
make sure api user of tags is consistent with existing apis
Initial filtering of endpoints for public IPv4 addresses.
Simplified getting the address to return, it's always the first one.
Clean up tests.
rename mustOsVersion to mustOSVersion
tweak
Add missing suite setup/teardown, etc.