updated search to use QueryParser.Escape(query)

I assume if anything changes in the future Lucene.net will update the Escape() method to handle it correctly so this method works the same and is less brittle than hardcoding our expectations into a regex.