Create sized volume floc 978

Fixes FLOC-978
Think about `service.get` as an alternate constructor for `Volume`.  I think we might rename this at some point.  I agree that the word `get` by itself is loaded with too many alternate meanings for this to be really clear.

The motivation for an alternate constructor for `Volume` is that a couple of its attributes are ... not exactly private, but super uninteresting to outsiders (`uuid` and `service`).  `get` populates those for you automatically - and, importantly, does so correctly.  If you create a `Volume` with the wrong values for these and then try to use it with a `VolumeService` instance you're going to cause problems.

This is another thing that having a proper volume model object might help with.

I wanted to avoid introducing more and more parameters to `service.create` because doing so means we have to revisit that API every time we want to change the properties a volume has.  We'll still have to do that for `VolumeService.get` but it makes more sense there and we might eventually be able to get rid of that API (but I don't see how we could get rid of `create`).