Wire up placement directives to EnsureAvailability api
Fix facade version detection
Code revew fixes
Rework how support for legacy installs is handled
state: remove unused return value from backingDoc.remove
Fix client fallback
Fix typos
Fix tests
Merge branch 'master' into ensure-availability-to-2
Fix test
Merge pull request #783 from davecheney/202-state-megawatcher-cleanup

state: remove unused return value from backingDoc.remove
Merge pull request #771 from wallyworld/ensure-availability-to-2

Wire up placement directives to EnsureAvailability api

When "juju ensure-availability --to machine1, machine2" is run, the placement directives are added to the machine template and so are used when the new instance is created. This is similar to how bootstrap works.

The API added by the previous branch needed to be tweaked to hook things up.

Fixes: https://bugs.launchpad.net/juju-core/+bug/1370332

http://reviews.vapour.ws/r/38/
Add an owner to state.InitializeState.

Instead of the owner being "admin", it is now whatever
gets passed in.  All existing tests now use a non-admin user
name.  The jujud bootstrap command now takes a name to use
as a command line arg, but it defaults to "admin", which is the
existing behaviour.  A follow-up branch will change the client
side bootstrap command to use the currently logged in user.