fixed maximum recursion error

If pyaml.dump was called multiple times it ran into an maximum
recursion error. This was because on each call, the original
Serializer.serialize_node was wrapped with a new one over and over
again.

Also added some tests.

To reproduce the problem, take tests/test_pyaml.py only, and use
py.test to run the code. The test will result in an
RuntimeError: maximum recursion depth exceeded