Implement instance rebuild in nova.virt.driver

This implementation of the rebuild operation allows the use of
the --preserve-ephemeral option. The default implementation in
Nova does not support this option.

Note: Image validation is not handled with this change.

Change-Id: I933658d139dc16ef1a65378b0084b4baf6180651
Closes-Bug: #1307754
Add create() and destroy() to Node

What it says. Also make the code use them vs direct calls to dbapi. This
also removes passing context to node.refresh() and node.save() since
context is cached on the Node object on create.

Partial-Bug: 1314732

Change-Id: Id3fafe1eae70954095ed94dec86e4583b23c5af8
Updated from global requirements

Change-Id: Ia4aec9704d5ad6adc748a7373fb1d72bbbf64f85
Merge "Implement instance rebuild in nova.virt.driver"
Merge "Add create() and destroy() to Node"