Automatically escape delimiter and add unit tests for PregEngine.

Writing a regular pattern that used a backtick would cause an error unless the user knows that backtick has been used as the preg delimiter, and knows to escape it.

This change no longer requires the user to know what the delimiter is and have to escape it themselves.

Users who have already written regular expressions that escape the backtick shouldn't be impacted by this change.  The escaping will be unnecessary, but it will still match what it previously matched.

It also introduces unit tests for the class.