Prevent destroy-environment when desired.
First cut ListNetworks
Fixed error construction and format. Renamed vars for clarity and conformity.
Cleaned up error-related code based on review.
Made code readable
move filter implementation to its own package, put it behind an interface
use real NewFilter func in tests
Merge branch 'master' into listnetworks-maas
Merge branch 'master' into uniter-extract-filter
Merge branch 'master' into listnetworks-maas
Skeleton test for ListNetworks
Updated comment and logging
Add comments to test
unexport NewStoreManager
unexport NewStore
Refactor Actions to use UUID instead of Sequence

First step in process of consolidating Actions and ActionResults.
Also part of exposing UUID to end clients rather than the Sequence
id that was not guaranteed to reflect order of enqueing.

A couple of other tweaks to avoid calling code that might panic in
non testing code.
unexport NewStoreManager
address review feedback
Wire up diskmanager to machine agent

All machine agents now run a diskmanager
worker. There are a few small changes to
the diskmanager itself, too:
 - block devices are now sorted by name
   before being sent to the API server
 - if block devices haven't changed since
   the last time they were sent, they
   will not be sent again
 - block devices that do not exist in
   /dev, but are listed by lsblk, are
   now ignored (this happens in LXC)
worker/diskmanager: don't build lsblk code/tests on non-Linux