Fix the problem with copy and deepcopy; also improve pickling a bit (#311)

Fixes #306

I also improved pickling a bit, but as you could see from tests, the list of things that could be pickled is much shorter than list of those that can be copied/deepcopied (note that copy module in Python 3 treats classes as immutable, and therefore return the class unchanged)
4 files changed