Remove more FIXME comments.

Perl does not allow whitespace around numbers/names in subpattern
references.
Make named subpattern references refer to the first subpattern with the given name, as in Perl.

This currently doesn't work for forward references.  E.g.:

(let ((ppcre::*allow-named-registers* t))
  (ppcre:scan (ppcre:parse-string "(?&foo)(?<foo>f)(?<foo>o)") "ffo"))

returns NIL.
Don't declare type of variable that may be either FUNCTION or NIL.
Add two tests (1652 and 1675) for testing forward subpattern references for special case.

The special case is where the forward reference refers to the
beginning of the constant end of string.  These tests currently fail.
Reorder the subpattern reference tests.

The tests are now so ordered that every numbered subpattern reference
test is followed by a corresponding named subpattern reference test.
Don't use START-OF-END-STRING-P optimization when subpattern references are present.
Add tests for patterns containing illegal whitespace in subpattern references.
Bind *ALLOW-NAMED-REGISTERS* to NIL before running simple tests.

If the user has bound this variable to T, the simple tests will not
all pass.
Add two more tests for dealing with START-OF-END-STRING-P and subpattern references.
Add two more tests.

These tests make sure that CL-PPCRE uses the correct named register
when multiple registers have the same name.