INCR-103 | Fix bytes vs. str bugs in xblock-sdk under Python 3

Description

This PR addresses the remaining failing tests from (https://openedx.atlassian.net/browse/INCR-103). I've tested them on Python 3.6 and Python 2.7 and all tests are passing apart from the single skipped test, which was being skipped when I pulled master.

I don't have a lot of experience with maintaining compatibility between Python 2 and Python 3, so please let me know if there's anything I should have done differently. Most of the changes ended up being fairly straightforward, but I did want to call out the changes in `test_views.py` related to `webob.Response` – it looks like `webob` 1.7 introduced some backwards-incompatible changes for JSON responses, you can read more about it [here](https://docs.pylonsproject.org/projects/webob/en/1.7-branch/whatsnew-1.7.html#backwards-incompatibility). Just in case that's useful to someone else in the future.

Assignee

Unassigned

Reporter

Open Source Pull Request Bot

Contributor Name

Eoin Noble

Repo

edx/xblock-sdk

Customer

None

Epic Link

None

OSCM Assignee

None

Platform Map Area (Levels 1 & 2)

Developer Experiences

Platform Map Area (Levels 3 & 4)

None

Blended Hour Utilization Percentage

None

Priority

Unset
Configure