Py3 http utils

This depends on (or supercedes) #52. 

Basically, I was trying to unify the API such that it remained python agnostic. As per the (zen of python)[http://www.python.org/dev/peps/pep-0020/], there should be preferably one obvious way of doing something. As such, I got rid of `iteritems`, `itervalues` and `iterkeys`. If a user wants lists returned instead, they can explicitly cast as such. 

Clearly this is just an opinion, which is why I wanted to use a separate branch for these changes. I'm open to suggestions.