Clean-up SMW\ParserData and entangle invoked static hook classes

Introduces two new features
* $smwgAutoRefreshOnPurge sets whether or not to refresh semantic data
in the store when a page is manually purged
* $smwgAutoRefreshOnPageMove sets whether or not to refresh semantic data
in the store when a page was moved

* Split SMWParseData::onParserAfterTidy into
* SMW\ParseData::addDefaultSort()
* SMW\ParseData::addCategories() and
* SMWHooks::onParserAfterTidy
* Streamlined addSpecialProperties(), can be used now
in storeData() (which has is own processing for the same properties)

Operationl hook implementation have nothing to do within the
ParserData class !!!

* Move SMWParseData::onLinksUpdateConstructed into
SMWHooks::onLinksUpdateConstructed
* Move SMWParseData::onArticleDelete into
SMWHooks::onArticleDelete
* Move SMWParseData::onTitleMoveComplete into
SMWHooks::onTitleMoveComplete
* Move SMWParseData::onNewRevisionFromEditComplete into
SMWHooks::onNewRevisionFromEditComplete

$article->mPreparedEdit->output replaced by
$parserOutput = $wikiPage->getParserOutput( ... )

* https://gerrit.wikimedia.org/r/#/c/54016/
* https://gerrit.wikimedia.org/r/#/c/52598/

Tests can only be added after dependencies have been merged.

Change-Id: If52cffde6cf0e2ec6f63fc4d2a3ae0a831591c12