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.
Allow streams version to be parameterised so that it can be different for images and tools metadata
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
implemented the sender worker for metrics
added test and comments after first round of reviews
second round of of review, support bulk calls in setting sent,
added more mocking in tests
support bulk calls in the sendmetrics api call
updates after merging with trunk
Added new status format option: oneline to list units & their subordinates.
Revert "Added new status format option: oneline to list units & their subordinates."

This reverts commit 6841d5c80f68bbfc36da088f2d9c987300c64b1f.
Merge branch 'master' of https://github.com/juju/juju
Added new status format option: oneline to list units & their subordinates.
Support for new status formatter: tabular.
Added expected request parameter to PatchUnitResponse function.
added the environment uuid to the metric batch
uuid -> UUID
Add the API client side for backups.
Move backups into its own package.