Implement diskmanager worker
worker/diskmanager: add tests
api/diskmanager: add tests
apiserver/diskmanager: add tests
Fix worker/diskmanager interface; fix vet warning

Make version.OSType a Stringer so it can be used as
argument to %s in printf functions.
cmd/jujud: remove diskmanager worker

Will add this back in in a follow-up.
storage: add package docs, fix comments
Address review comments
worker/diskmanager: address review comments
Set/fix best known facade version for DiskManager
Merge pull request #1111 from axw/worker-diskmanager

Introduce diskmanager worker

This pull request introduces a new worker that
periodically lists block devices on the machine,
and reports them to the API server. The purpose
of this is so that attached disks can be allocated
to units for their use (e.g. to expand a Ceph
installation.)

Diskmanager is not yet being used, as the state
collection has not been implemented in this pull
request; this will be done in a follow-up. When
that is done, the diskmanager will be run on all
machine agents. The worker is currently a no-op
worker on Windows.