Lookaround Unit Tests
Unit Test Tagging Update

All regular expression unit tests now have the [regex] tag.

Added the [email] tag to the scenario in misc.cpp.
Valid Unicode Matching

Implemented the \X construct from PCRE, which matches any valid Unicode sequence.
Capturing Group Compilation Fix

During capturing group compilation, capturing groups were not being identified to/registered with the RegexCompiler.  This meant that other pattern elements could not refer to them, and that such attempts caused exceptions (due to unresolved reference) at the end of compilation.
Group Recursion

Added support for group recursion constructs from PCRE.  These take the form of:

- (?n), where n is an integer
- (?&name)
- (?P>name)

and cause the engine to execute the referenced group again.

The (?R) recursion construct -- which causes recursion of the entire pattern -- is not yet supported as the RegexEngine class will have to be modified to support this (as the pattern element will need to be able to acquire a reference to this entire pattern).

The (?+n) and (?-n) recursion constructs -- which recurse a group based on its relative location -- are not yet supported as the RegexCompiler class will have to be modified to support this.
RegexCompiler Capturing Groups Improvement

Added the ability to reference relative capturing subpatterns.  I.e. the next or the previous capturing subpattern may be retrieved, without knowing their name or number.
Recursion Relative Subpattern Support

Added support for recursion of relative subpatterns.

For example: (?-1) recurses the previous subpattern, and (?+1) recurses the next subpattern.