Store last start time in an EventSearch.

A single event search may be run multiple times in parallel (i.e. if
it's changed and resubmitted while another job is running).

The GET /api/v1/event_searches/:id/status endpoint must always return
the status of the latest started job.  To identify that job, we need the
job ID (which is the search ID) and the time when it was started.
A Redis connection for Pancakes.
Record query results; signal query status.

Yes, there should be tests.  However, I couldn't come up with a
reasonable way to design test hooks into this that were really any
better than "hit it via irb".  At some point I'll have to take another
look at this code.