Implemented negative look-ahead...

Also fixed bug where look-ahead would erroneously advance the engine
index upon completion (successful or not). Also fixed regex fail step so
that it reports all of the text that it successfully matched, along with
the part that it did not match.