Add optional dependency on orderectdict if needed

If collections.OrderedDict is not available (<=python26) an
extra_requires dependency on ordereddict is added in the setup.
Add ordereddict as fallback for OrderedDict
Fix issue with ordereddict.OrderedDict

The constructor of ordereddict.OrderedDict calls the `clear` method
which is responsible for creating a member variable. Since in Dicti
this method is overwritten the member never got created.
To fix this a different (and more efficient) implementation of `clear`
is now used that makes use of the clear method of the base type.
Enable test file execution from the root folder

Individual test files can now be executed as follows:

- python -m test.test_pydicti
- python test/test_pydicti.py

The first usage requires a '__init__.py' file in the test folder.
Furthermore on python3 the import of test_compat needs to be either
absolute or relative.

For the second case a relative import can't be used. Therefore an
absolute import must be used.
Add JSON test for dicti (unordered)
Fix test_odicti to support ordereddict.OrderedDict
Disable odicti JSON test if unsupported

On python26 the json.loads method has no object_pairs_hook parameter
which is required to load ordered dictionaries.
Add note about ordereddict support to changelog
Perform all tests on Travis!

Previously only the unit tests were executed :(
Signal doctest failure with exit status
Merge branch 'fix-python26'