Prevent duplicate headers in OAuth1 by ensuring r.headers are native string. Fix #73.

@Lukasa what do you think about this header conversion? It's a bit of a hack replacing r.headers this way but using r.headers.update will result in duplicates (as in key b'A' != u'A', could not see this fixed in master or maybe it is expected behaviour?). 

Tested with current pip (py 2.6 - 3.3) and github master (py 3.3)  version of requests.

As a bonus we no longer need to encode header strings in py 3 (for OAuth1 at least). Only replaced the encoding locations which broke the test suite. Will look into the rest separately if we merge.