Subclass OrderedDict to provide pretty-printed str representation

This pull request fixes #905

I've added one test on the new `__str__` method.

I didn't modify CHANGES.rst as I'm not sure if this is a new feature or an API change.
I've commented out the "skip tests" for Python versions >= 2.7. Many tests break for Python 3.3 and 3.4 so maybe this is a bad idea?