Replaced error-prone string processing with list processing
Reduced usage of global variables for better modularity
Added capability to override the grep program if in buffers mode; certain programs do not interact well when given a specific file list. This may become an option in the future (or be more limited in scope).
Fixed bugs in EasyGrepJumpToMatch
Fixed bug in GrepProgram
Other misc cleanups