Add name[, module] parameters to build_dicti

This makes it easier to create pickleable classes (pickle needs
module-level classes).
Simplify the representation string

Since the class name is much more useful than before, it makes now sense
to use it in the representation string and remove the base class name
from it.
Import 3rdparty names more privately in pydicti.py

Import libraries with underscore prefix so it is easy to see that they
are not exported symbols.

'OrderedDict' stays an exception for now: it is somewhat convenient for
the doctests and it allows to import OrderedDict conveniently from this
module (without doing another round of the try-import-except stuff).
Add test for pickleability
Fix pickling for python3 for dicti

On python3 dict needs special treatment. Its special pickling handler
causes __setitem__ to be called on unpickling before __case is restored.

This can be fixed by either

- adding a try-except block in __setitem__ or __contains__
- using __setstate__ + __reduce__ as done in this commit
Merge pull request #1 from coldfix/pickle

Support for pickle?