Port in work from the nova enhancements branch

There is a PR open against ansible that contains general improvements
to the nova_compute module. Apply those here. As part of that, copy
in the functions that otherwise would be part of the library addition.