Python 3

Note that for the tests to pass on Python 3, you need to use a version of `spec` that is Python 3 compatible, e.g.: one that has the change in https://github.com/msabramo/spec/commit/f9c2c8e1b538ced683e6212780aa7fe86c122ce6