Make dependency on OrderedDict optional

On python26 there is no `collections.OrderedDict`. With this patch the
module can be used on this version of python as well.
Note: the (doc-)tests will still fail.
Make tests in test_pydicti.py work on python26

The following non-existing assertion methods had to be added:
- assertIs
- assertIsNot
Add unit tests for odicti

These tests replicate the doctests in the main module.
Move tests to test/ subfolder
Migrate to setuptools to enable testing via setup.py

With setuptools the following testing commands can be used:

    python setup.py test
    python setup.py nosetests
Reenable testing on python26 on Travis

Testing on pre-python27 versions was disabled in 1f73834. In the
corresponding commit message, the reason for incompatibility with
python26 is incorrectly stated as missing collections.MutableMapping
while in fact it is collections.OrderedDict that was missing. As this is
now an optional dependency we can reenable testing on this platform.

Note that pre-python26 is still disabled, since:

- Travis has removed their support for python25 on 20.11.2013, c.f.:
  http://blog.travis-ci.com/2013-11-18-upcoming-build-environment-updates/
- Possibly the module doesn't work on python25 if
  collections.MutableMapping is in fact missing here (I don't know,
  don't care).
Merge branch 'optional-ordered-dict'
Add CHANGELOG
Merge branch 'add-changelog'