Use shortcodes in a more robust manner #2737
Pull Request Checklist
This changes how shortcodes are applied:
This avoids problems like rst mangling URLs and such.
Still needs work:
The older API can be kept for backwards compatibility since it has not been touched.
This has a bug when shortcodes are "nested". Specifically this is used in the manual, with the "raw" shortcode wrapping another shortcode that should not be processed.
The extract_shortcodes algorithm is wrong. I know how to fix it, it's going to take a bit longer.