First cut ListNetworks
implemented metric validation prior to storing
make validate a method on the metricBatch
review comments fixed and fixed unit tests
worker/uniter/context/jujuc: symlink tools to correct destination

Hook tools were being symlinked to the unit-specific tools symlink
when the first unit was deployed. This causes problems when that
unit is destroyed, and another unit of the same service remains;
the symlinks remain broken.

We change EnsureSymlinks to dereference the target destination if
it is a symlink.

Fixes https://bugs.launchpad.net/juju-core/+bug/1391645
move filter implementation to its own package, put it behind an interface
use real NewFilter func in tests
Merge branch 'master' into listnetworks-maas
return errors.trace instead of bare err
Merge branch 'master' into uniter-extract-filter
Merge pull request #1074 from mattyw/metric-state-server-validation

implemented metric validation prior to storing

Before metrics are stored we do a validation check.  Validity is defined by the charm package - This pr just adds the call to the state server. The metrics tests have been updated to check the failure modes of validation and existing tests have been updated to ensure they use valid data

http://reviews.vapour.ws/r/376/
Merge branch 'master' into listnetworks-maas
Skeleton test for ListNetworks
Updated comment and logging
Add comments to test
SetFile -> SetFileInfo.
Update utils dep.
Merge pull request #1119 from ericsnowcurrently/backups-SetFileInfo

SetFile -> SetFileInfo

http://reviews.vapour.ws/r/415/
State: cleanup code

Remove useless code. change.C is the collection name, which is used to get the collection, which intern is used to set change.C to the collection name.
Ensure metadata file gets closed