==== Background
Blocks can be reported to the user via several different block error messages. `BlockErrorFormatter::getBlockErrorMessageKey` chooses which message to use, depending on the type of block.
After {T317201}, extensions can tell `BlockErrorFormatter` which error message key to use. GlobalBlocking should have a handler for this hook that uses one of the extension's block messages.
==== Acceptance criteria
* If there is a GlobalBlock and no other block, the error message displayed is one of 'globalblocking-ipblocked', 'globalblocking-ipblocked-range' or 'globalblocking-ipblocked-xff'
* If there is a CompositeBlock that includes a GlobalBock, the block reason is updated to include details of the global block
* The hooks `onGlobalBlockingBlockedIpMsg`, `onGlobalBlockingBlockedIpRangeMsg` and `onGlobalBlockingBlockedIpXffMsg` are run so that WikimediaMessages can alter the message keys
* If there is no global block, nothing is changed
==== Notes
See `GlobalBlocking::getUserBlockDetails` for how the message keys are currently chosen