Bootstrap Endpoint Address

After Bootstrap returns successfully, get the bootstrap instance and
write its addresses to jenv/environ info/connection info.
Merge branch 'master' of https://github.com/juju/juju into endpoint-on-bootstrap-take3

Conflicts:
	cmd/envcmd/environmentcommand.go
	cmd/juju/bootstrap_test.go
Make sure that the environTag is always set on the state.State struct when calling Open.
Merge branch 'master' into endpoint-on-bootstrap-take3
Make the state server info return a tag.
Fix ordering and state initialization.
Clean up the test.
Fix merge conflicts
Merge pull request #519 from waigani/endpoint-on-bootstrap-take3

Bootstrap Endpoint Address

After Bootstrap returns successfully, get the bootstrap instance and
write its addresses to jenv/environ info/connection info (choose
your name).
Merge pull request #605 from howbazaar/state-env-tag-always-set

Ensure that environTag is always set on state.State when Opened

When we Open state we need to set the environment tag.

Previously the environment tag was only specified when the database was initialized.  Now we set it every time the database connection is opened.  This is required for when we have multiple environments, and we want to filter the results based on the current environment.

A follow-up branch will update this tag based on the environment uuid from the api server when passing the state connection to the facades of the API server.
ActionResult refactor
WIP action-uniter-response
Bare API basics put together.  PR 415 and 520 depend on this.
WIP: Tests nearly all passing