Tweak syntax of extlinks to also allow ``%s`` in the link caption part.
Like for the base URL ``%s`` will be substituted with the content of the
role. This allows configurations like
extlinks = {'quarter': ('https://example.org/quaters/%s',
'%s. quarter')}
with ``:quarter:`2``` getting replaced by a link titled `2. quarter`.
The requirement for the caption string is to be either None or contain
exactly one ``%s``. If neither is the case, then we emit a warning and
fall back to the old behaviour which is concatenating the caption string
with the role content.