Compatibility update.

--HG--
branch : 1.8
Edited travis.yml

--HG--
branch : 1.8
Use shared.compat.iteritems and iterkeys for compatibility across Python 2 and 3.

--HG--
branch : 1.8
Typo

--HG--
branch : 1.8
Convert tabs to spaces.

--HG--
branch : 1.8
XML declaration removed as not required for comparison. XML defaults to UTF-8

--HG--
branch : 1.8
Use .get(dict, default) when checking for default values. No need for additional subsequent checks if a default is being used. Otherwise rely on KeyError being raised.

--HG--
branch : 1.8
Type checking only makes sense with related error handling and associated test.

--HG--
branch : 1.8
Make py.test the default test-runner.

--HG--
branch : 1.8
Class attributes should never be mutable.

--HG--
branch : 1.8
Remove manual compatibility code.

--HG--
branch : 1.8
Use OrderedDict to ensure consistent ordering.

--HG--
branch : 1.8
Coerce to a string as archive.read() returns a bytes object in Python 3.

--HG--
branch : 1.8
Commented out unpassable tests.

--HG--
branch : 1.8
HashableObject has no __init__ so subclasses of it don’t need to call it.

--HG--
branch : 1.8
Merged parent

--HG--
branch : 1.8
Moved conditional formatting tests to own module.

--HG--
branch : 1.8
Disabled conditional formatting tests incompatible with python 3.

--HG--
branch : 1.8