api: api no longer depends on state.

As part of a previous refactoring I accedently made api directly dependent on state, which is an even worse crime than state depending on the apiserver.

This proposal corrects this mistake and removes all dependencies on state from the api packages, along with additional removals of direct dependencies on state.

The cost is the agent package is responsible for translating between params.StateServingInfo, which is effectively the public data type of state information, and state.StateServingInfo which is the state's own version of the same.
Merge pull request #743 from davecheney/199-make-api-not-dependent-on-state

api: api no longer depends on state.

As part of a previous refactoring I accedently made api directly dependent on state, which is an even worse crime than state depending on the apiserver.

This proposal corrects this mistake and removes all dependencies on state from the api packages, along with additional removals of direct dependencies on state.

The cost is the agent package is responsible for translating between params.StateServingInfo, which is effectively the public data type of state information, and state.StateServingInfo which is the state's own version of the same.
Set up the repo for rbt (ReviewBoard).
Merge pull request #749 from ericsnowcurrently/reviewboard

Set up the repo for rbt (ReviewBoard).

This obviates the need to run "rbt setup-repo".
apiserver/client: Migrated SetEnvironAgentVersion test to serverSuite
apiserver/client: clearer SetEnvironAgentVersion API error if upgrade in progress

Return an easily identifiable error from SetEnvironAgentVersion API if
the call failed because an upgrade was in progress.
cmd/juju: created interface for upgrade-juju's client API

To allow mocking in tests.
cmd/juju: upgrade-juju "upgrade in progress" handling

upgrade-juju now special-cases handling the case of the
SetEnvironAgentVersion API call failing due to an upgrade appearing to
already be in progress. The user is given guidance on what they might
be able to do to fix it.

The change introduces a struct conforming to the upgradeJujuAPI
interface to allow testing of the upgrade-juju command without making
actual API calls.
apiserver: defined "upgrade in progress" error

Avoids repeating the error code string everywhere.
cmd/juju: implemented upgrade-juju --clear-previous flag

For aborting a current UpgradeInfo document in state (in the case of
previous partially complete upgrades).