wip
state: make InferEndpoints take varargs

Most of the callers, usually the tests, were having to construct a []string, just to satisfy the contract of the method.

Make the method take a varargs ...string which is consistent with other Relation methods.
Add new HighAvailabilityFacade for new ensure-availability command
go fmt
Merge branch 'master' of https://github.com/juju/juju into 196-state-status-not-apiserver-params-status
wip
Merge branch '199-make-api-not-dependent-on-state' into 196-state-status-not-apiserver-params-status
Allow streams version to be parameterised so that it can be different for images and tools metadata
Merge branch 'master' of https://github.com/juju/juju into 196-state-status-not-apiserver-params-status
Tweak NewClient to improve testability
Added versions to Agent API.
Added forgotten params.
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
Fixed command not found error during tests on windows
Set up the repo for rbt (ReviewBoard).
Factor out a newBackupID function.
Add an alternate ID generator.
Add tests.
Merge pull request #749 from ericsnowcurrently/reviewboard

Set up the repo for rbt (ReviewBoard).

This obviates the need to run "rbt setup-repo".
cmd/jujud: rationalised version number handling in upgrade-steps worker

1. Use version.Number's in logs and status output throughout instead
of version.Binary's. The series and architecture is irrelevant to the
upgrade process and including it just adds unnecessary verbosity.

2. The check for an already completed upgrade has been moved earlier
to avoid unnecessary initialisation.

3. New upgradeWorkerContext attributes have been added to make the
from version more accessible and the target version shorter to read
and write.