User:Legoktm/Spam filter redo

Currently most anti-spam and related checks are in EditPage, or directly tied to it. This should be split out into a pluggable system that is significantly more flexible and requires less upon global state.

Existing checks

 * SimpleAntiSpam - adds a form field with message, checks its value, reports an error message, and rejects the edit
 * Check summary spam regex, checks edit summary against regexes, reports an error message, and rejects the edit
 * Check spam regex against the current textbox (not merged), reports an error message, and rejects the edit
 * EditFilter hook: provides EditPage, not merged textbox, section URL parameter (new or a number), edit summary, and error to output
 * TitleBlacklist uses it, but that usage is actually wrong and it should be using EditFilterMergedContent
 * SpamBlacklist too, and it is also using it wrongly
 * This code isn't even being run due to T169838.
 * Check whether user is blocked, and if so, spread the autoblock