PEP8 changes to pass flake8
More complete unittests
Raise NotImplementedError on unused funcs
Supprt 2.7+ for unittest lib only