I see what you did there. :-)
OK here is my contribution - I added exact phrase searching, and also fixed your broken excluded keywords feature.
For exact phrase search matching I updated the code in 2 places, and you can find them by searching for /* CUSTOM SUPPORT FOR EXACT PHRASE SEARCH */
For the fix for excluded keywords, I also updated the code in 2 places. It was actually broken for 2 reasons. The splitQuery function stripped out the "-" so everything that checks for it later on obviously would not find them any more. Then later on, there is a bug with using $u.contains - it does a type-aware exact value match, but you were comparing an array of ints against a string. A simple typecast to an int fixes this part. You can find the 2 places by searching for /* FIX FOR EXCLUDED KEYWORDS */