Add python 3 support and testing
Normalize filenames, test class names, and add utf8 header where missing