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.