Doc compilation fix
Allow for super/subscripts using ^/_ in literal formatting

As the plan is to wrap things up in `\mathrm` or similar 'within' the
unit formatter, it will be necessary to provide a way to deal with
sub/superscripts in text mode. That means a bit of search-and-replace.
A couple of \prop_del: should be \prop_remove:
Couple of minor issues in updated "format_literal" set up

A missing brace and one wrong expl3 function name.
Main parsed unit formatter refactored/copied

This version covers most of the functionality of the v2 one, with a
few odds-and-ends yet to tidy up. There are at least a couple of changes
to behaviour, which will all have to be checked later on (when updating
the docs). Notice that most of the equivalent code is removed from the
v2 file, with the bits remaining clearly 'to do'.

At the moment, this code does not cover the need to deal with the font
applied to the output. As that is being heavily revised for v3, it
makes sense to first check in something that ignores this area, then
to update the code to address it.
Step date

May as well have some idea of where I am up to!
Transfer the l3kernel version check

At the moment there should be no change in the version required:
this will need to be checked before any release.
Move the other-package test to the new .dtx

This is updated a little to reflect the fact that the capitalisation
should follow what the other packages do. The notes are also updated
to make them a little more informative.
Stick to 'documented' TeX interfaces here

Probably using the ":D" interface is not really the best approach:
this code is tied to LaTeX2e so it's reasonable to stick to what it
provides in a case such as this. (For a 'pure' expl3 module,
\msg_fatal:nn would be the correct approach here.)
Use 'current' not 'part' in final parsed unit output

This is important: the 'part' is just whatever was grabbed last from
storage!
Add "fraction-function" option

This was missing from the transfer in the earlier commit.
Fix tl names used for storing bracket symbols

The options used one name, the rest of the code had a different name:
now all agree.
Switch branches for unit output test and positive powers

This was the wrong way around leading to odd results.
Bracket denominator not numerator when dealing with fractional units
Brackets are not needed for fractions, only when using a symbol

'Proper' fractions do not have this issue.