Use text or binary content without confusion

Eliminate encode/decode in as many places as possible
Make use of the request module's decoding
Correct tests to use binary data for MockRequest.content

Text data is decoded automagically by a .text property
Some mocked get_readable_fileobj need encoding='binary' support
Update template_module to differentiate content/text
Merge pull request #393 from sargas/let-requests-do-decoding

Remove some Python3 hacks