Cleanup imports
Implemented prefer-ipv6 environment setting
Merge pull request #293 from dimitern/prefer-ipv6-environ-config

Implemented prefer-ipv6 environment setting

This is the first of a series of PRs to implement
a "prefer-ipv6" flag across the codebase. As a first
step the following changes were made:
 * Added prefer-ipv6 Boolean flag to the environ config.
   It is optional and defaults to false, and is immutable
   once set.
 * Rather than using a global variable network.PreferIPv6,
   now a new function was implemented: InitializeFromConfig(),
   which takes an interface with PreferIPv6() bool to set
   the (now internal) preferIPv6 flag. This needs to be called
   at start up in several places (bootstrap, MA, UA, CLI), but
   that will happen in follow-ups.
 * Changed the dummy provider a bit to accommodate the changes
   done to the network and config packages.

Next in line will be implementing a PreferIPv6 field in the
agent config, so if it's true we can call InitializeFromConfig
before trying to connect to state or the API to ensure the
user's request to prefer IPv6 addresses / endpoints is honored.
Changed to the well known pattern using collect() für multi-events.
Remove juju.Conn and consolidate some testing code
One comment error.
Merge branch 'master' of https://github.com/juju/juju into flakey-test-machine-interfaces-watcher
Merge pull request #292 from waigani/imports-cleanup

Cleanup imports

Simple PR to cleanup imports.
Extract state/{storage,txn} as top-level projects

juju/juju/state/storage is now juju/blobstore
juju/juju/state/txn is now juju/txn
Code review fixes
Merge pull request #294 from TheMue/flakey-test-machine-interfaces-watcher

Changed to the well known pattern using collect() für multi-events.

First implementation didn't handled fast-following changes well enough, multiple events have been fired. Changed the watcher to follow the same pattern that's used in other watchers by using collect().
Fix import ordering
Merge pull request #296 from axw/extract-state_storage_txn

Extract state/{storage,txn} as top-level projects

juju/juju/state/storage is now juju/blobstore
juju/juju/state/txn is now juju/txn
Fix NetworkInterfaceSuite.TestRemove random failure
Missed an import, or merged badly, or ...
Merge upstream
Merge pull request #297 from axw/state-remove-state-txn-again

Missed an import, or merged badly, or ...
Merge branch 'master' of https://github.com/juju/juju into remove-juju-conn
Fix bad merge
Merge pull request #298 from bz2/network_interface_random_test_failure

Fix NetworkInterfaceSuite.TestRemove random failure

The NetworkInterface type must be serialised as %#v not %v for errors.NotFoundf so the GoString method gets used. Also improve the test error match to ensure the correct serialisation is used. Without this change, the test could randomly fail if the bson id happened to contain an 0x0A byte, as `.*` does not match newlines.