Working on AST serialization in parser-toolkit

Involved issues:
Issue #23: Make DeepAstComparer extensible to be able to compare custom types in properties or attributes
Issue #22: Replace old AstComparer by the new and better DeepAstComparer
Issue #17: Mantis #34: For users who like to transform XML further it would be nice to have an interface that accepts Reslut/Receiver and Source
Issue #16: Mantis #28: Three out of four swc-example-serialization tests can be fixed quite easyly
Issue #15: Mantis #26: XML Serialization doesn't pass the swc-serialization-example roundTrip test
Issue #13: Mantis #24: Sites with PageNotFoundWarning can't be written to XML

* parser-toolkit 1ea8758...97258a4 (9):

    commit 97258a4ba94acd83ccd87643c8762218c7c312fd

        Rewrote ptk-xml-tools sub-project

        - XML serialization is done using xstream
        - Custom serialization of data structures can now be done by extending xstream with custom converters
        - Common serialization code that could also be used by e.g. json serialization was moved to ptk-common

    commit 7ffb99e4f0fc6025a3e45f0278a333a24afdbaa9

        Fixes sweble-wikitext#22 and sweble-wikitext#23

        Issue #23: Make DeepAstComparer extensible to be able to compare custom types in properties or attributes
        Issue #22: Replace old AstComparer by the new and better DeepAstComparer

        The basic DeepComparer was extracted from project parser-toolkit and moved to project utils

    commit 92126e57eb5b2b6b00aed82f99979b48960c8de8

        Renamed TestAstBuilder.List -> TestAstBuilder.NodeList

    commit d53883246156e8c4f0dca78b6a25928745bd953b

        Fixed AstNodeImpl.clone() and AstNodeListImpl.clone() and added some documentation

    commit 1e8b5b5de3ee9934570c15f886c560d271e2f530

        Fixed code formatting

    commit 7351a41a162d29582bbd8b333442dcdc4b1b5445

        AstLocation now encodes and decodes the file name to prevent clashes with the seperating colon characters

    commit abc228581feddf5d3ada1487b3c51c94698d0536

        Fixed Span.toString() which printed wrong location when from and to were individual but equal objects

    commit 9db740a1476291f58e3040337211c035d067ae05

        Fixed AST node setters which must not return the old value any more

    commit 81c55266b211458915f4493c7f742359c9155cc5

        Fixes sweble-wikitext#22: Replace old AstComparer by the new and better DeepAstComparer

* sweble-wikitext f43316b...1b3e036 (12):

    commit 1b3e036e9eeaef8656be926c9c429569c84d6453

        Using new ptk-xml-tools serializer

    commit 084911cb1cf0e4be04875bfe7895331f91f77dad

        EngineAstNodeConverter sets up a ptk-common AstNodeConverterBase<WtNode> for a wikitext AST

    commit 6d6b756c30822a21614358797e237f6ce9be6b77

        WikitextNodeFactory now extends ptk-common NodeFactory<WtNode>

    commit c870308984f9d5c093e393d49f6c0f81dae3f682

        WtEmptyNodeList is now a WtEmptyContentNode and no longer just a WtEmptyImmutableNode node

    commit 3ca176592bf1652b40577547644ae1c9bcdcf960

        Added missing hasTarget() to WtLinkOptionLinkTarget

    commit 53a6fd02cfe5f7e4cf3dbb97cc74f5c61941363c

        Added WtComparer which is aware that WtEmpty* nodes sometimes equal their empty Wt*Impl counterparts and using it instead of old DeepAstComparer

    commit fdfb2f777a650dbbc7c8fdf7b1253491823a8ba2

        Added specialized equals() method to pairs of WtEmpty* and their Wt*Impl counterparts to make sure an empty Wt*Impl equals an WtEmpty*

    commit 155b64f20c028e06950165768dd135ee63c5b6b6

        Added readResolve() method to WtEmpty* and WtNo* nodes to ensure correct deserialization

    commit 089bcc7704f6df404646ba4d85ce09f768e132db

        Renamed WtTemplateParameter property "defaultValue" to "default" to match name as reported by getChildNames()

    commit 027696ae33c1d23abff2629db2db9b51a0dfca18

        Fixed RTD setters and getters to conform to the bean interface

    commit 16a11bff95af6175fbadf2ef6857dece3a804e2a

        Added documentation about engine/parser AST nodes

    commit 891b3e166b5f49ed498e588a2e112e1c5ace9736

        Fixes 22: Replace old AstComparer by the new and better DeepAstComparer

* utils 3000bf9...8735ae1 (2):

    commit 8735ae16f68f98d078f44127376fae931ff0ade9

        Fixes sweble-wikitext#22 and sweble-wikitext#23

        Issue #23: Make DeepAstComparer extensible to be able to compare custom types in properties or attributes
        Issue #22: Replace old AstComparer by the new and better DeepAstComparer

        The basic DeepComparer was extracted from project parser-toolkit and moved to project utils

    commit db4983ce46cc10ec51bde64f2df229d29ca4ba92

        Extended ReflectionUtils class

        Added new methods: isBasicDataType(clazz), isBasicDataType(name), mapPrimitiveToUcType, abbreviateBasicDataTypeName, getTypeFromAbbreviation