Requests for comment/ChangesList formatting

hooks

 * EnhancedChangesCacheEntry - allow tweaking cache entry (e.g. the links?) and more importantly the cache entry grouping

ungrouped line

 * show wikibase flag - currently hardcoded which ones to show
 * diff link to repo - uses cacheEntry difflink
 * history link to repo - currently uses Title and Linker::linkKnown; @todo handle this in cacheEntry so it can be customized. Ideally separate building the actual url and formatting of the link.
 * user link to repo
 * user talk link to repo
 * no block link

group line

 * show wikibase flag
 * add Q#
 * changes link to repo
 * history link to repo
 * user link to repo
 * bytes changed

nested line

 * timestamp / diff link to repo
 * user link to repo
 * user talk link to repo
 * no block link
 * bytes changed

refactor
If handling everything in the cacheEntry is too complicated or otherwise not really possible, then we might want a more overall refactoring of ChangesList code to make it more flexible.

ChangesListEntry

 * ChangesListEntry (RecentChange)
 * EnhancedChangesListEntry

ChangeLine

 * ChangeLine (interface)
 * OldChangeLine
 * EnhancedChangesUngroupedLine
 * EnhancedChangesBlockGroupLine
 * flags
 * EnhancedChangesGroupNestedEntry

ChangeLineFormatter

 * ChangeLineFormatter (interface)
 * OldChangeLineFormatter
 * EnhancedChangesBlockGroupLineFormatter

EnhancedChangesBlockGroup

 * EnhancedChangesBlockGroup
 * EnhancedChangesBlockGroupSummaryLine
 * arrow
 * flags / timestamp
 * change summary
 * EnhancedChangesBlockGroupLine[]

Other formatters

 * flags
 * character difference
 * rollback