Merge pull request #679 from voidspace/waitfor-replicaset

Remove the Remove

replicaset/replicaset_test : get rid of extraneous calls to Remove

Remove is a slow operation, and we're seeing spurious failures in CI here. We create a bunch of mongo instances and defer removing them from the replicaset. We destroy them immediately after removal, and then destroy the root, so the Remove is extraneous. This should improve test reliability.
Add a backups abstraction.
Add Create() to the backups abstraction.
cmd/jujud: avoid duplicate code for counting upgrade attempts in upgrade tests
cmd/jujud: avoid duplication in the 2 "success" upgrade test cases
cmd/jujud: shorten upgrade test helper names

Makes the tests a little more readable.
cmd/jujud: rationalise machine & config handling in upgrade tests

These tests have always been a bit confusing because machine-0 and its
config were being stored on the test suite, with various helper
methods magically using them as required. Data associated with other
machines have always been stored in local variables and passed around.

This change makes the data for machine-0 be handled consistently. This
makes for more explicit, clearer tests and has allowed for various
cleanups.
Merge branch 'master' into lp-1336843-wo-jenv-destroy-env
Use values instead of pointers.
Add missing blank lines before comments.
Drop unnecessary type declaration.
Add tests for failure cases.
state: Fix envuser test

Fix intermittent failure by updating DateCreated check to equal 'now'
or 'after now'.
Change state.User to take a names.UserTag
Increment juju to 1.21-alpha2
Merge pull request #729 from sinzui/inc-1.21-alpha2

Increment juju to 1.21-alpha2

Increment the juju and windows version to 1.21-alpha2.
Merge pull request #708 from ericsnowcurrently/backups-create

Expose a top-level abstraction for all the backups functionality.

This patch adds a top-level backups abstraction.  It also exposes the backup creation functionality through a method.

The PR that will follow this one:
  https://github.com/ericsnowcurrently/juju/pull/4
removed Action trigger from worker ModeHookError

This patches a bug in the uniter which can result in ModeHookError being
cleared by a successful Action run on the impacted unit.  Actions can no
longer be run in ModeHookError.

This will be resolved after the Context refactor on worker.
Merge pull request #730 from binary132/actions-modehookerror-fix

removed Action trigger from worker ModeHookError

This patches a bug in the uniter which can result in ModeHookError being
cleared by a successful Action run on the impacted unit.  Actions can no
longer be run in ModeHookError.

This will be resolved after the Context refactor on worker.
Merge pull request #723 from howbazaar/name-tag-update

Change state.User to take a names.UserTag

There are a few other drive by changes:
 - bootstrap agent test also checks created environment
 - the logging from the apiserver permission test has some breaks in it (to visually separate the test output when it fails)
 - the user manager made me sad, we are looking at consistency of tags/names
 - adding a service no longer enforces that the user exists, however an envuser must exist (remote users will exist soon)
 - the UserTag returned from state.User instances is now explicitly a local user tag (rather than implicitly)