Issue 45: Implement the regular expression library

Add initial support for the regular expression library.

This implements findall(), search(), and match()

The most complete implementation is findall() which is only limited
by the incompatibiliies between the JS regexp and Python regexp.
The bggest problem is the different interpretation of () in the
JS regexp.  Patterns like:

"From .*@(\\S*)"

Return the whole match instead of the piece inside the parenthesis.

search() and match() are barely there.   They properly return None
if there is no match and return a MatchObject when there is a hit.
but the returned MatchObject is useless (i.e. no data and no methods).