#1075: Move CreateSerializer out of the base class of XmlSerializer.

This is to prevent the casting upstream in CreateSerializer(). Since CanWriteResult() depends on CreateSerializer(), it has also been moved along.

Issue #1075