Start to editor.rereplace rewrite

* Boost Regex integrated, using the N++/Scintilla regex code from François-R Boyer
* Test Project
* Basic converters from the GroupDetail to the ReplaceEntry
 - the plan is to have the converter call the python function, if one is specified in arguments to rereplace, otherwise to create the text to replace it with.  If there are no $ or \ in the replacement string, then the replacement string can, I think, be presumed to be constant, and therefore only allocated once.

Needs more tests to check the UTF-8 to UTF-32 conversions are working correctly, and handling UTF-8 encoded char*'s properly.

Also need to extract various things as templates to cope with ANSI encoded documents
Basic editor.replace2 functionality

Replacements working for simple strings.
Start to ANSI Support

- Basic support for ANSI encoding with traits class
- BoostRegexMatch::expand doesn't compile yet, needs help for conversion to char*
- Needs refactoring as types are repeated in Traits class
ANSI Replacements working
First tests for replacements
Tests for UTF8 and ANSI cases
Fix for extract returning a temporary object

extract<T> returns a temporary object that converts to T.
Previously we were using this object further in the code.
This is now copied to a std::string, with the length included, so nulls should be included.

Note that NULL characters are currently treated as terminators for the search and replace strings by the Replacer.  This can (and should) be repaired later by providing the length in the call.
Starts to MatchPython
Replace with python function
Test discovery
Python replacements with ANSI tests
Support for Python function replacements in ANSI Docs
Add other params for replace, remove py*replace
Standand (non-regex) Replace
replace() and rereplace() with flags
Fix when test module is changed while N++ is running

Existing reload only reloaded the main module, not the individual one
Extra doc for runReplace() test call.

Reinstated Assert for one of the tests - it was commented out for no reason.
Start / End positions in replace and rereplace

Inline help improved for replace & rereplace
Remove commented out code of the old pyreplace functions
Count option for replace and rereplace