Build Scripts, Bug Fixes, Unit Tests

Added more unit tests.

Reorganized directory structure so it makes more sense (test code isn't
mixed in with actual library code).

Updated build scripts so that release and debug are the same script with
different command line arguments.

Build script builds and runs unit tests now.

35 total unit tests having assisted in tracking down a few odd bugs in
the regular expression engine.

Had to change the clock Timer is using as a time source under POSIX
because sleeping causes the CPU the thread is running on to change which
causes the high-precision CPU timer to be different which causes the
time to be off.  This sacrifices precision for reliability, consistency,
and ultimately expected behaviour, which is really everything.

Regenerated documentation.