Recursive structures are now loaded and dumped correctly, including complex
structures like recursive tuples (fix #5). Thanks Peter Murphy for the patches.
To make it possible, representer functions are allowed to be generators.
In this case, the first generated value is an object. Other values produced
by the representer are ignored.
Make Representer not try to guess !!pairs when a list is represented.
You need to construct a !!pairs node explicitly now.
Do not check for duplicate mapping keys as it didn't work correctly anyway.