highlight/except support for regular expressions and blocks.

First, this PR includes the commits from #11793 with the latest review suggestions, plus support for using a block instead of the `highlighter` option on the `highlight` helper.

Closes #11793.