Add API func ShareEnvironment to client and server API:

ShareEnvironment shares the current environment with the given user.
Under the hood, it adds an environment user to state.
Remove unneeded removes
Added comment
juju/testing: don't remove admin user in JujuConnSuite

We no longer enable mongo auth in our tests, so there's
no need for the "soft resetting" anymore.
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.
use lumberjack for log rolling
Merge pull request #512 from natefinch/lumberjack

use lumberjack for log rolling

This is very similar to the last PR, except I didn't change out the upstart config stuff... since the output redirect doesn't hurt anything, and we need the rest of the code to properly set permissions and owner on the logfile.
Merge branch 'master' of https://github.com/juju/juju into share-env-take2
Merge branch 'master' of https://github.com/juju/juju into share-env-take2
Merge pull request #645 from waigani/share-env-take2

New client & server API func ShareEnvironment

ShareEnvironment shares the current environment with the given user.
Under the hood, it adds an environment user to state.
move the tests inline
Remove the user checking for the keymanager.
Merge pull request #688 from axw/jujuconnsuite-dont-remove-admin

juju/testing: don't remove admin user in JujuConnSuite

We no longer enable mongo auth in our tests, so there's
no need for the "soft resetting" anymore.
Update names dependency.
Merge pull request #692 from howbazaar/refactor-perm-test

Move the tests inline

Refactoring the test to allow for a smaller diff later when we change the user tags.

This change just moves the tests and the variables to be in the test function.
Merge pull request #694 from howbazaar/update-names

Update names dependency.

Just bring in the latest names changes.
Remove DisplayName option

Remove the option to set an environ user's display name from the
AddEnvirionmentUser function. Update call sites and expected test
results.
Merge pull request #693 from howbazaar/keymanager-updates

Remove the user checking for the keymanager.

The existing keymanager tests for specific users are skipped, but not removed.
I expect that sometime in the near future we will have keys stored for users, but we are not doing that just yet.
Merge pull request #696 from wallyworld/keep-broken-part-2

Do not stop bootstrap instance on error if keep-broken flag is true

Fixes: https://bugs.launchpad.net/bugs/1365772

The --keep-broken flag was added for 1.20.7 and it did stop the environment from being destroyed on a failed bootstrap, but did not stop the bootstrap instance from being stopped. This PR adds in the extra logic to do that.
Fix tests