Unit tests

Split out from branch python_3, this should be purely unit-test +travis related changes.