RegexCharacterClasses

Implemented the regular expression character classes \w, \W, \d, \D, \s, and \S.
CodePoint Not Equals Overload

Added overloads for the not equals operator taking any combination of a
CodePoint and any integral type.
Merge branch 'master' into regex

Merging master to get the CodePoint operator != overloads.
Unicode Property-based Regular Expression Pattern Elements

Added support for the \p{} and \P{} constructs, which match based on Unicode category/script/block.
Regex::Escape Tweak

Added the hyphen to the list of characters Regex::Escape escapes.
Regular Expression Driver

Implemented the Regex::Execute static method(s), which attempt to match a pattern against a certain input string.

Added fields to RegexState and RegexPatternElementState to track backtracking status.

Added facilities for rewinding the regular expression engine to RegexPatternElementState and RegexPatternElementPrivateState.
RegexState Fix

Fixed a state in the RegexState class which was causing it not to report that the end of the input had been reached.
RegexCompiler Overhaul

Overhauled the RegexCompiler and RegexCompilerState classes in an attempt to simplify the interface of the RegexParser class and the implementation of classes derived from it.
RegexCompiler Overhaul

Removed the RegexCompilerState class and merged it into the RegexCompiler class.

This gives the RegexCompiler class some purpose in being a class, rather than a collection of functions, as previously it carried no state information.

Also this provides better encapsulation, as there's no concerns as to how the RegexCompiler is going to communicate with the RegexCompilerState versus how the RegexParser is going to communicate with it.
RegexLiteral Fix

Fixed a bug which was causing RegexLiteral's parser to create multi-code point RegexLiterals within a character class.
Regular Expression Engine Overhaul

Overhauled/refactored the regular expression engine:

- Renamed RegexState to RegexEngine
- Renamed RegexPatternElementState to RegexState
- Renamed RegexPatternElementPrivateState to RegexPrivateState
- Merged the functionality of Regex::Execute into RegexEngine as operator ()
RegexState Documentation

Added documentation to the RegexState::CanBacktrack and RegexState::PreventsBacktracking properties.
Remove RegexState Default Constructor

Removed the RegexState class' default constructor.  It doesn't make sense for the class' new use case.
RegexEngine Tweak/Cleanup

Removed the RegexEngine::Backtracking property, as it is unnecessary.

Since RegexStates -- and their corresponding RegexPrivateStates -- are destroyed as the engine backtracks, pattern elements for which backtracking state is relevant can deduce their backtracking state by checking for a RegexPrivateState within their RegexState.
Expose RegexEngine State Information

After each invocation of a RegexEngine, the RegexEngine will set the newly-added properties CanBacktrack and PreventsBacktracking.

This will allow pattern elements which use a RegexEngine to match against their own collection of RegexPatternElements to correctly set these properties on their RegexState.
RegexCompiler Documentation

Added documentation to the RegexCompiler class.