Guard against user input that could be misinterpreted by our regex.

Things like ? and * are nasty, as we end up taking the user input and
evaluating it as a regex.  So, escape every input character after
lowering and normalizing.  Thanks to @rickychang for finding this!
Adding the beginnings of a unit test suite.

Requires nosetests to run `make tests`, so this also includes
requirements.txt.
Releasing version 0.2.3
Releasing version 0.2.4
Fail if we didn't upload to PyPI.
Releasing version 0.2.5