Add a bunch of missing decode("utf-8")s

This should improve compatibility with Python 3. Currently whenever there's an exception raise, the part that prints out the error message was causing another exception because `json.loads` expects `str` in Python 3.
Merge pull request #74 from dan-blanchard/patch-1

Add a bunch of missing decode("utf-8") calls