Restore the original docstrings to *REG-STARTS*, etc.

This begins a third attempt at a register offsets storage model.

The problem with the current model is that it changed the
implementation of *REG-STARTS*, etc., variables that I didn't realize
were part of the api.  This latest attempt will restore the original
semantics to those variables and store offset stacks (for recursive
subpattern references) in separate variables.
Add three new special variables for holding the register offsets stacks.
Bind new special variables when scanning.
Make *REG-STARTS*, etc., have NIL as initial value instead of (list nil).
Access offset values directly in *REG-STARTS*, etc., instead of thorugh CAR.
Finish implementing the newest register offsets storage model.
Declare type once instead of using THE repeatedly.
Merge branch 'nested-refs2' into subpattern-references
Add more tests to *TESTS-TO-SKIP*

These are tests that CL-PPCRE gets right but Perl gets wrong, except
fot 1812, which is caused by validating backreference names too soon.
Move more tests (1809-1812) into test/simple.

These are tests that Perl gets wrong.
Add url reference to comment about Perl mishandling certain constructions.