Address specific issues highlighted in github review.
Includes:
Using the with statement
Using urlencode and urlparse from libcloud.utils.py3
Clean-up of nested for loops
Some additional documentation
Other minor fixes