Add Python 3 support.
Python 3 support, part 2.

Python 3 'behave' now works except for one scenario: select weapon by tag.
It complains there that BlueprintMeta vs BlueprintMeta is unorderable.
Python 3 support (final commit).

All behave tests now pass under both Py2 and Py3.
Also fixed a bug where classes were used as a secondary sort key in select(). Python2 permits this,
though it's meaningless; Python3 rejects it.
Merge pull request #3 from 0ion9/master

Python 3 support