worker/diskformatter: new worker to create filesystems

The diskformatter worker watches for block devices
assigned to datastores owned by the unit whose agent
is running the worker. Those block devices without
a filesystem will have a filesystem created, and then
recorded in state.
worker/diskmanager: fix test name
storage: add tests for BlockDevicePath

Also, remove state/datastore.go
worker/diskformatter: moved package doc
Merge pull request #1191 from axw/worker-diskformatter

worker/diskformatter: new worker to create filesystems

The diskformatter worker watches for block devices assigned to datastores
owned by the unit whose agent is running the worker. Those block devices
without a filesystem will have a filesystem created according to the
datastore's filesystem preferences (specified in the charm metadata), and
then recorded in state.

(Review request: http://reviews.vapour.ws/r/501/)