Support for Virtual Machine Images and handling of Temp Redirects

Added support for:
- Virtual Machine Images
- Handling of TEMPORARY REDIRECTs (307)

Refactored to:
- Make things more DRY
- Conform to PEP8 and libcloud style guides

Modified driver to be more consistent with the libcloud library (methods require libcloud Node, NodeImage and NodeSize objects where necessary)

Also rebased with latest trunk so that this branch can be merged in automatically