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.
State upgrade steps: migrate statuses, constraints and annotations

Add an ugrade step for each of statuses, constraints and annotation
collections. Each step appends the environment uuid to the _id field
and adds a new env-uuid field.
Make block device listing function configurable

... and mock it out in jujud tests.

Also, make use of this to test NewWorker in
a platform-independent manner.
Merge branch 'master' of https://github.com/juju/juju into migrate-status-constraints-annotations

Conflicts:
	state/megawatcher.go
Merge pull request #1141 from axw/wireup-diskmanager

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)
Merge branch 'master' of https://github.com/juju/juju into migrate-status-constraints-annotations

Conflicts:
	state/megawatcher.go
Merge pull request #1160 from waigani/migrate-status-constraints-annotations

State upgrade steps: Migrate status, constraints and annotations collections

Add three upgrade steps which append the environment uuid to the _id and and a new env-uuid field to each of status, constraints and annotations/

(Review request: https://reviews.vapour.ws/r/471/)