common: Port HighlightRule to ExpressionMatch
Port HighlightRule objects to ExpressionMatch class, providing easy
caching and simplifying expression handling.
Migrate HighlightRule struct into a full-blown class for easier
management and greater assurance over automatic internal cache
management.
Port HighlightRuleManager to ExpressionMatch for nickname matching,
providing easy caching and simplifying expression handling.
(Noticing a theme?)
Add tons of documentation comments, too, and fix up line lengths.