Rewrite to use classes for tests, upgrade to VS 2013 (for member initializers) and upgrade to Python3