py3: Use absolute imports by default
py3: Use print function instead of print statement
py3: Add Python 2/3 compat module

Keep all the hacks in a single place. This looks like all we need, so no need
to depend on six.
py3: Use compat.text_type instead of unicode
py3: Use .item() and .values()

As .iteritem() and .itervalues() doesn't exist in Python 3.
py3: Use list comprehensions instead of filter()

This is just a stylistic change, and is not strictly required for Python 3
compat.
py3: Import moved modules via compat
py3: Use renamed function via compat
py3: Use explicit float or integer division
py3: Avoid indexing exception objects

It doesn't work on Python 3.
Fix flake8 warnings
py3: Move compat module out of utils
py3: Use itervalues() for local track database
Merge pull request #901 from jodal/feature/python3-compat

Python 3 compatibility