roughly break up test files; extract context.Factory
add a bunch of failing tests
add basic tests for Factory; move non-Factory NewHookContext func into export_test (to keep existing tests passing, but prevent other people from creating contexts in unhelpful ways
remove persistent relation context from Relationer
Rename InitialEnvironment to StateServerEnvironment.
address review
drop proxy rubbish
Bring in the new cmd code and fix badly placed function.
Add a log to avoid test failure of 'true != false'
Merge pull request #957 from howbazaar/user-help

Bring in the new cmd code and fix badly placed function.

In order to get the sub-command help usage right, bring in the new juju/cmd revisions.

There was a file removed from juju/cmd that shouldn't have been there, that was used by the addunit command.  This has been moved to be close to the code that uses it.
Merge pull request #948 from howbazaar/state-server-environment

Rename InitialEnvironment to StateServerEnvironment.

The name was decided in discussions at the sprint with sabdfl.

Updating the code to match how we'll talk about it.
state: machines & related collections now use env UUID based ids

The following collections are now using environment UUID based
document ids in preparation for multi-environment support: machines
containerRefs, instanceData & reboot.
state: made allwatcher end-to-end test more comprehensive

The test was previously only testing machine related events but now
includes units and services.
Added instanceData to ConnSuite setup

... and cleaned up how collections are opened.
state: hacks to support the env UUID upgrade for the machines collection

This change introduces a few hacks that are needed to allow a state
machine to start before the environment UUID migrations have been
applied to the machines and instanceData collections. Without this the
machine agent can't start in order to run the required database
migrations.
state: move machine related env UUID migrations to 1.21-alpha3

1.21-alpha2 was just released so the machines, instanceData and
containerRefs migration steps had to be moved to alpha3.

Unnecessary test boilerplate has also been removed and the tests now
check that the upgrade steps for a particular version have been
included in the global list of upgrade operations.
Merge pull request #914 from mjs/machines-env-uuid

state: machines & related collections now use env UUID based ids

The following collections are now using environment UUID based document ids in preparation for multi-environment support: machines, containerRefs, instanceData & reboot.

http://reviews.vapour.ws/r/175/diff/
Merge pull request #939 from fwereade/uniter-context-factory

Uniter context factory

Hook contexts are now created more simply. Expect further followups, to extract more of the logic currently still in the Uniter -- in particular, the NewActionContext bit is not good as it stands, but I don't want to grow the PR too far.
Merge pull request #960 from fwereade/uniter-context-factory-2

remove persistent relation context from Relationer

...such that relation contexts grabbed by the hook context factory are (1) fresh, and unable to change uniter state; and (2) changed to reflect desired context state by the context, rather than (somewhat magically) inside the uniter.
Add `juju actions` command to CLI

`juju actions` queries a service for its charm's Actions schema.