Expand main matching/printing loop

Evaluate fewer conditions, resulting in a speedup
Don't use print_line_with_context when not using context

It's a useless sub call
Slurp files into a huge chunk to search for no frills searches

In most cases, a user is going to do something like this:

  ack foo $DIR

Where many files in $DIR don't have foo in them at all, and those
that do will probably have them in a lower percentage of their
contents.  So we try to spend more time in the regex engine rather
than Perl land.
Document the horror I have wrought upon the codebase
Eliminate a lot of calls to File::Spec->splitpath
Add optimization notes to changelog
Continue matching after end of current line
Fix CRLF problem with optimization