+ Backport of python 3 enum functionality.
+ Update to use new enum based representation of state.
+ Improve doc strings.
+ Update to use new enum based representation of state.
+ Update tests based on enum changes.
+ Fix up missed reference to old-style status