Extensible wiki pages

This pull request makes some serious changes to the way wiki pages work:

* Custom `WikiPageFactory`s can be configured using the `WikiPageFactories` configuration setting
* All child page creation goes via the factory.
* `PageData` is no longer dependent on a `WikiPage`
* `WikiPage` is now responsible for rendering content, `PageData` has become merely a container
* `WikiPage`s set their default properties themselves.
* Added `WikitextPage` interface to facilitate in things like processing class paths
* Clean up on `WikiPage` interface
* `TestPage` is no longer a sub-interface of `WikiPage`