Restructured loop to handle the filename right we get the ending character.

Incidentally, pressing 'tab' will now dump you back to the prompt, where
'enter' will dump you into the editor of your choice.  Fixes #7.
Using new python string formatting.
Add a space after the new tokens inserted into the prompt.

Fixes #2.
Guard against 100-named-group limitation in python's re module.

Who needs > 100 named groups, anyway?
Adding a status bar at the bottom.

Show the number of files we've found of all filenames eligible.  This is
the start of #9.
Support EDITOR variables with more than one token (e.g. 'emacs -nw').

Fixes #2.
Removing comment.
Adding thanks.  Hi, @marksteve!
The beginnings of using a background thread to populate candidate
filenames.
Non-blocking text input
Moving status bar to top.
Don't barf if we didn't select a file.
Swallow KeyboardInterrupts at the top level.
Adding RUN_PROFILER flag for, well, profiling.
If our input str is empty, all files are eligible, duh.
Adding some debugging.
Sleep in increments while we getch() to avoid redrawing the screen if we don't have to.
Refactor match_cmp to avoid computing nonempty_groups multiple times per match.
Adding opened file to history.  Fixes #3.
Renaming FilenameSearchThread.