Support for Python 2.7+ and Python 3.3+ via ``six``.

In order to support Python 2.6 (if that is needed), one has to provide a custom
implementation of `collections.OrderedDict` since it was added to the stdlib in
Python 2.7.
Use ``with`` clauses for opening files, `io.open` to specify an encoding.
Update ``.gitignore``.