State upgrade step: add env UUID to openPorts collection

Add an upgrade step targeting 1.22-alpha for the openPorts collection. Append the State Environment UUID to the document _id field. Add the following fields to the document: "env-uuid", "machine-id","network-name".

Refactor state/ports.go to use the new fields. Refactor mgo queries to included the environment UUID. Refactor state/upgrades.go helper function addEnvUUIDToEntityCollection to support collection specific upgrades by using variadic option functions. Skip failing upgrade tests which do not target current version.
Checkpoint for collaboration

The leadership service endpoints have been defined so that others can begin writing against the API. Currently everything else is stubbed out.
Merge branch 'master' into leadership
Merge branch 'master' of https://github.com/juju/juju into migrate-openPorts

Conflicts:
	state/upgrades.go
Merge branch 'master' of https://github.com/juju/juju into migrate-openPorts

Conflicts:
	state/upgrades_test.go
	upgrades/steps122.go
	upgrades/steps122_test.go
worker/diskmanager: don't publish disk partitions

Don't publish partitions to state. Partitions may not be used
as there is no guarantee that the partition will remain available
(and we don't model hierarchy). Also, we will likely be using
partitions at least in some scenarios to synthesise a unique
identifier for block devices which can't otherwise be guaranteed.
move context inside runner -- integration tests still passing, nothing else even checked
fix context package tests
fix uniter/operation tests
State: add EnvUUID to statusDoc

Add State's environment UUID to the EnvUUID field of a statusDoc on creation.
rename uniter/context to uniter/runner
Initial skeleton
Add ipaddresses file and collections definition plus index
Add AddressState
Skeleton AddIPAddress
Minor fixes
Skeleton implementation of IPAddress
Initial implementation of Remove
Updated comments for methods
Implementation of SetState