Extension:MassMessage/Technical debt cleanup

MassMessage is 4+ years old now, and technical debt has accumulated that needs to be cleaned up.


 * Put the extension into a PHP namespace (MediaWiki\MassMessage)
 * Have "targets" use a value object instead of passing arrays around
 * Turn MassMessage::getTargets into an abstract MassMessage\SpamlistLookup or something, and have individual classes extend it
 * Break down the giant MassMessage class into smaller ones that have less responsibility
 * Allow using Wikidata items as spam lists T171617
 * Add missing filter name messages T169824 (microtask)
 * Fix invalid argument supplied for foreach T162734 (microtask)
 * Warn when tag is present but no tag is present T156167
 * (there's probably more bugs that could be addressed, but I think this is a good scope for now)