initial commit
State: Migrate instanceId

Add an upgrade step to migrate the depricated "instanceid" machine
field into "instanceid" in the instanceData doc.
Migrated test towards unit-style.

This test was intended to check the internal behavior of a type and thus is more of a unit test. In this spirit, we've migrated more towards this style by stubbing an internal variable to observe the type's behavior.
added check and tests to stop add-units earlier if the destination machine doesn't exist, lp:1384732
use errors annotate instead of fmt.Errorf
State upgrade step: Add EnvUUID to charm docs.

Add an upgrade step to add the environment uuid to charm docs. Update
doc struct, call sites and tests respectively.
fix conflicts
State, upgrade step: Add EnvUUID to Sequence doc IDs

Adds an upgrade step to add the EnvUUID to sequence doc IDs.
Move code out of package_test.go.
Do not use MgoTestPackage in backups.
Expose backups.StoreArchive.
Set meta.Stored properly.
State upgrade step: Add EnvUUID to minUnits docs.

Add an upgrade step to add the environment uuid to minUnits docs. Update doc struct, call sites and tests.
fixed conflicts
State upgrade step: Add EnvUUID to cleanup docs.

Add an upgrade step which stringifies the cleanup doc (bson.ObjectId)
and prepends State's environment UUID. Update state.docID() to take an
interface and return a string.
Move .UTC() into setBackupStored.
testing -> backupstesting.
Use key values parser from utils package to parse key=value settings in juju tools.
Make upgrades look in releases dir for tools
More test fixes