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.
Added versions to Agent API.
Added forgotten params.
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
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
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
Fix typos
Merge branch 'master' of https://github.com/juju/juju into agent-api-new-version-for-networker
Minor fixes after first review.
Fix .reviewboardrc
Merge pull request #777 from voidspace/reviewboard-fix

Fix .reviewboardrc

Add TRACKING_BRANCH to .reviewboardrc.

In CONTRIBUTING.md we recommend that "origin" be set to your github clone.  We also recommend configuring a remote repo called "upstream" that points to the official juju repo.  However, this complicates interaction with ReviewBoard since it only knows about the official repo (to which .reviewboardrc is already pointing).  So when using "rbt push" this disconnect often results in review requests with incorrect diffs.

The TRACKING_BRANCH setting corrects this.  Without this patch people have to add it to ~/.reviewboardrc or use an extra option to rbt.  However, since we expect that everyone will have their "remotes" set as described above, setting this in the repo's .reviewboardrc will benefit everyone.
cmd/jujud: upgrade mode end fix

Fixed a case where upgrade mode wasn't being stopped when it
should. This is actually almost impossible to hit in practice but good
to fix anyway.

Added a unit test to cover this case.
Add a juju subcommand for backup.
Add the backups create subcommand.