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
 * EnhancedChangesListEntry
 * ChangeLine (interface)
 * OldChangeLine
 * EnhancedChangesUngroupedLine
 * EnhancedChangesBlockGroupLine
 * flags
 * EnhancedChangesGroupNestedEntry
 * ChangeLineFormatter (interface)
 * OldChangeLineFormatter
 * EnhancedChangesBlockGroupLineFormatter
 * EnhancedChangesBlockGroup
 * EnhancedChangesBlockGroupSummaryLine
 * arrow
 * flags / timestamp
 * change summary
 * EnhancedChangesBlockGroupLine[]