Catch specific FormattingError
Support content decoding

This is needed for python3 because "bytes" can't be decoded. And
to be fair, this is best practice. HTTP responses are never unicode.