Fix cross-platform encoding issues. #428
By using io.open and explicitly defining the encoding on the call to
By using io.open and explicitly defining the encoding on the call to open every time, we should get consistant behavior across platforms as open will not rely on each individual system's local settings to determine what encoding to use. Note that io.open is an alias to the built-in open function in Python 3. In Python 2.6+ it is a Python 3 compatable implementation which works in Python 2. In the future when all support for Python 2 is dropped, simply delete the import statements with no additional changes to the code. I expect this will fix both #239 and #352.