First cut ListNetworks
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
unexport NewStoreManager
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
cmd/jujud: fix diskmanager tests on Windows

- Add test that checks worker is started
- Change tests that waits for state to be
  updated to only run on Linux.
worker/diskmanager: test NewWorker

- Test NewWorker runs a no-op worker on Windows.
- Test NewWorker eventually calls the BlockDeviceSetter
  on Linux.
- Shuffle code around so it works on Linux and Windows.
Merge pull request #1130 from voidspace/listnetworks-maas

ListNetworks maas

An implementation of Envrion.ListNetworks for the MaaS provider. It fetches the available networks for a given instance.
maas: fix availability zone selection
maas: add tests for availability zone selection
add doc comments to Filter interface