Create sized volume floc 978

Fixes FLOC-978
Another comment from @exarkun's design said

`Replace name with a volume model object that can describe many parameters.  The usage will be something like: volume_service.create(volume_service.get(name, ...))`

so that's where I took the idea of creating a `flocker.volume.Volume` from; also `AttachedVolume` is scoped to only belong to `Application` instances, so I don't think `VolumeService` should be accepting `Application` models. But there is a good case that we should not have separate `Volume` and `AttachedVolume` classes in the future, I'm sure this can be consolidated better.