Fix relative import
Python 3: fix parse_request_body()

Return a decoded string rather than bytes.
Python 3: Pass bytes to sendall() and friends.

Thanks to Victor Stinner for this patch.
Python 3: cast return values of map() to list().

This ensures Python 3 compatibility.
Python 3: fix parse_requestline().

The parse_requestline() function needs a text string as an input. In Python 3,
it had bytes.
Python 3: do not hardcode class name in test_request_stubs_internals().

StringIO might be either 'StringIO.StringIO' or 'io.BytesIO' depending on the
version of Python used. Do not hardcode the type in the test.
Python3: Fix test_recording_calls()

* in record_request, do not try to call json.dumps() on a dict() containing
  bytes;
* in test_recording_calls(), do not hardcode the expected version of Tornado.

There was a json.dumps(some_dict) and soe_dict had bytes values
Python 3: fix test_request_stubs_internals

In Python 2, dict(request.headers) will have all keys in lower case, while In
Python 3, the capital letters will still be there. This is because of internal
changes in the requests library. Let's use lower-case headers, so that this is
not an issue.
Python 3: fix encoding issue

In Python 3, the parse_request() method uses iso-8859-1 to decode the path, but
not in Python 2. This causes test failures in Python 3. Fix that by encoding
the path back to iso-8859-1.
Python 3: fix test_httpretty_should_allow_registering_regexes_with_streaming_responses()

This was cause by the use of text strings instead of bytes.
Python3: use bytes where needed.

Bytes were needed in some place, instead of text strings.
Merge pull request #143 from CyrilRoelandteNovance/clean_py3

Python 3 support