Changed how exceptions are handled & added serialized tracebacks.

This makes working in development much more consistent with production.
You'll get the same responses (with traceback) in dev as what would be
seen in production. See the tutorial for specifics.

Thanks to @jphalip for an early version of this & the traceback code.
Changed the exception to something portable (Py2 vs Py3).
Merge branch 'error-changes'
Fixes #7, #4.
Bumped to v1.4.0!