Warn if grepped text exists before first request log line. Add -C and -filename

Summary:
I added a filename option to make this easier to test.
In order to make the search go quicker we are running zgrep to limit the number
of lines to look at, and our guess as to what is the longest number of app log
lines is unfortunately incorrect.  When that happens if it is before any other
found request log line it will now throw an exception. Unfortunately if a
request log line is before it, then I think that this may appear attached to
the wrong request. I'm not sure if it is possible to distinguish it's applogs
with the ones before it. At least the -C option is now there and so if things
don't look right it can always be increased.

Test Plan:
scp ka-analytics:~/kalogs/2013/11/14/backends-22:00:00Z.log.gz testlog.gz

tools/greplog.py -f testlog.gz "Constructing YouTubeQuerySomeVideosPipeline"
see:
Searching ['testlog.gz']
for all requests where it contains 'Constructing YouTubeQuerySomeVideosPipeline'
Traceback (most recent call last):
  File "tools/greplog.py", line 461, in <module>
    num_surrounding_lines_to_search)
  File "tools/greplog.py", line 177, in parse_log_file
    raise Exception("String found in app logs without a "
Exception: String found in app logs without a corresponding request log line. Try again with -C set to something larger (default is searching for the request log line that is within 60 lines of the string searched for)

Then run:
tools/greplog.py -f testlog.gz "Constructing YouTubeQuerySomeVideosPipeline" -C 120

and see it find the 1 request.

Reviewers: mattfaus, chris

Differential Revision: http://phabricator.khanacademy.org/D5229