[WIP] Trying to port to Python 2/3 compatible codebase

This makes some Python 2/3 compatibly changes and adds Python 3 testing to Travis using conda.

I'll squash all commits together once I work out travis bugs.