Fixed data to have a bytes object appended to it
Always compare version as string with the given version string
Make sure parse_bytes is indeed called with a bytes object
Updated code for extensions to use bytes/str where needed
Fixed self.puzzle.extensions to have bytes as keys and as values
Adapted is_blacksquare to work in both Python 2 and 3 with int/str input
Adapted data_cksum to work in both Python 2 and 3 with int/str input
Make sure row method always returns an integer
Make sure mid value is always an integer when shuffling
Added Python 3.2 as well to intended Python versions to support
Cleaned up imports based on PEP8 style guide