Merge pull request #61 from frankban/external-mgosuite

Use the external MgoSuite.

Mostly mechanical.
Remove the testing/mgo* bits which are now in github.com/juju/testing.
Add testing.Certs to be used when registering the MgoSuite tests.
Merge branch 'master' of https://github.com/juju/juju
envions/configstore: Storage.List()

Add the List() method to the Storage interface. List lists all
the existing environments in storage.
Merge pull request #35 from waigani/list-store-interface

envions/configstore: Storage.List()

Add the List() method to the Storage interface. List lists all
the existing environments in storage.
Spread units across availability zones

Common code for ec2 and openstack, and any
other provider that supports availability
zones similarly.

Two top-level functions are added to
provider/common: BestAvailabilityZones and
DistributeInstances. The former returns the
availability zones with the fewest instances
in the specified group. The latter returns
the set of instances that may be added to
the specified group without reducing the
availability zone spread optimality.
Add new user fields: creator, date created, and last connection.

This branch also adds a factory object to aid test fixture setup.
Currently it only adds users, but we should add more later.

The container test Factory attributes were renamed to
ContainerFactory so they didn't clash with the Factory attributes
that were added to the base test suite.
provider/ec2: implement AZ spread

Implement common.ZonedEnviron, and call
the common BestAvailabilityZone and
DistributeInstances functions to implement
automatic availability zone spread.
Merge pull request #55 from axw/provider-ec2-zone-spread

Implement automatic availability zone spread

There are two components to this PR:
 - new functionality in `provider/common` to enable automatic spread of instances across AZs;
 - updates to `provider/ec2` to make use of this common code.

The openstack provider will be updated in a followup.
Move the factory package to under testing
state/apiserver/client: don't send containers to StopInstances

The DestroyEnvironment API attempts to destroy all non-manager,
non-manual instances. We should also ignore containers here.

Fixes https://bugs.launchpad.net/juju-core/+bug/1325830
MakeAnyUser
Merge pull request #68 from howbazaar/more-user-info

Add new user fields: creator, date created, and last connection.

This branch also adds a factory object to aid test fixture setup.
Currently it only adds users, but we should add more later.

The container test Factory attributes were renamed to
ContainerFactory so they didn't clash with the Factory attributes
that were added to the base test suite.

Sorry about the size, still working out this git workflow thing.
Merge pull request #69 from axw/lp1325830-maas-destroy-containers

state/apiserver/client: don't send containers to StopInstances

The DestroyEnvironment API attempts to destroy all non-manager,
non-manual instances. We should also ignore containers here.

Fixes https://bugs.launchpad.net/juju-core/+bug/1325830