JCLOUDS-514: Support attaching volumes at boot in Nova

This is a replacement PR for the work done in #326 that is rebased/squashed so that it can be pushed to master. The new Nova Boot from Volume functionality that I am currently working on is dependent on this PR.

Once the builder is successful, I plan on merging immediately.
Was there another review comment about these being `protected`?