WIP - Allow empty image refs for boot-from-volume

Pretty much most of our code handled this just fine, except for the json schema.

This is mostly a PR adding tests for the case we want to support.

TODO:
- [ ] Positive functional test for the blank image id
- [ ] System test ensuring that the server that gets created has a blank image id

Future task that should be added:
Empty image ID can only be submitted as a request along with `block_device_mapping`, else Nova returns 400.  Add block device volume ID validation, and validation that ensures that the blank image ref must be accompanied by some block device mappings.