Merge 'build_system' into regex

Merged the build system branch (which is dedicated to simplifying the build system so that Linux and Windows makefiles do not have to be updated separately) for unicode.mk and test.mk simplifications which will aid regular expression engine development and testing.
Remove Unnecessary White Space from regexconditional.cpp
Backreferences

Added support and unit tests for the backreferencing constructs:

- \number
- \k<name>
- \k<number>

The code for the backreference pattern elements and parser is in regexliteral.cpp so that it may share the literal matching code written for RegexLiteral.  This code has been refactored into a base class -- RegexLiteralBase -- which is shared between RegexLiteral and RegexBackreference.