Handle errors from upload_file
Use the url upload_file is returning
Return the url the storage system says it is.
Use all the key-values returned by storage
Convert _post_multipart to use urllib2

And as a sideeffect, be able to post to storage thats offsite, eg. s3
Keep data from trying to be converted by encodings

We downgrade everything to str, and we need to use .encode('ascii')
becase someone redefined the str-operator. This is so when underlaying
libraries tries to string-concatinate http, they will not try to handle
encodings.
Merge pull request #19 from glance-/bugfix-s3-upload

Bugfix s3 upload