Decode request bodies before passing them to json
Decode request bodies before passing them to json

AWSAuthConnection._mexe encodes request bodies as UTF-8, mutating the
original request object in the process.  This breaks kinesis's unit
tests on at least python 3.4 and 3.5 on Fedora, because those unit tests
call json.loads, which expect str objects rather than the bytes objects
that _mexe converted it to.

This commit makes the test cases decode request bodies before feeding
them to json.loads.

awatts/boto,Asana/boto