Added python subclassing ability to Serialisation::Serialiser.

This allows the writer of a custom python node to also customise the serialisation for the node. This might be necessary when a node creates a child node network and needs to control which parts are serialised and how. For now I've just implemented it so Serialiser can be subclassed - it's possible to also bind NodeSerialiser, BoxSerialiser etc, but it means a bunch of nasty templated wrappers and suchlike. Call me on it if you think it should all be done now though...

Fixes #520.