Cherry-pick three non-test changes from the testing branch:

* Minor refactor to the way the traceback list is built
* Remove the (according to Jason) unused "origin" member of RemoteException
* Change to str(exc) from repr(exc.message), for Py3 compatibility and good sense

Needs testing!
Merge pull request #6 from LuminosoInsight/testing_branch_cherrypick

Cherry-pick three non-test changes from the testing branch:
Merge branch 'master' into introduce_testing