Begin transitioning to the new register offsets storage model.

Instead of storing the beginning/end of register offsets directly in
the corresponding arrays, we will now store lists where the car of
each list is the offset.  The reason for this is that when we descend
into a subpattern reference, instead of making a new array where all
offsets are reset, we will push new offsets onto the front of the
lists corresponding only to those registers contained within the
register we're entering via the subpattern reference.  In other words,
we'll only be resetting certain registers.  This will fix tests 1783
and 1785.

Which registers contain which other registers will be computed during
regex compilation.
Continue transitioning to the new register offsets storage model.
Add CONTAINING-REGISTERS slot to REGISTER class.
Compute CONTAINING-REGISTERS slot of REGISTER instances.
Continue transition to new register offsets storage model.

At this points, I had expected everything to work as well as with the
old model, but there are still many tests that are failing, so
apparently there are some bugs left to iron out.
Add some test cases that illumine one of the current register offsets storage model's defects.
Don't store possible register offset of register entered via subpattern reference.

This was causing many tests to fail with bizarre error messages.  It
wasn't caught using the old register offsets storage model since the
array the value was beging stored in was a temporary array to begin
with.

With this commit, the only tests run by RUN-ALL-TESTS that fail are
those that Perl itself gets wrong.
Tidy up the comments in CREATE-MATCHER-AUX method specialized on REGISTER.
Rename CONTAINING-REGISTERS -> SUBREGISTERS.
Fix test 1798.

It was missing the definition of regThree.
Remove some redundant code in CREATE-MATCHER-AUX specialized on REGISTER.

The redundant code was moved into LABELS function definitions.