Add scheduled query precompute functionality

The Jia UI now provides a timeframe interface, where the user specifies either a recent timeframe:
![screen shot 2014-07-15 at 11 06 58 am](https://cloud.githubusercontent.com/assets/1996521/3586576/ba488dce-0c31-11e4-9967-b29e3dad75f6.png)

or a specific date range:
![screen shot 2014-07-15 at 11 07 16 am](https://cloud.githubusercontent.com/assets/1996521/3586577/ba48ca1e-0c31-11e4-9c6f-909f742ace17.png)

The `start_time` and `end_time` variables are automatically injected into the scope of the query code blob (along with `events` and `kronos_client`).

When the precompute switch is activated, the results of the query code blob will be cached. When the query is over a recent timeframe, additional options are provided to the user so that the precomputation will happen on a schedule. This ensures the cache is always fresh when a user runs the query. When the query is over a specific date range, the precomputation is done only once.
@lydiagu Let's say the current time is 603, the untrusted time is 4, and the bucket width is 100. If we take the nearest bucket width south of untrusted, we would set the end time at 500. If we left things how they currently are, the end time would go to 600 and we would get all of the data through 599, but any data in 500-600 would not be cached. That is my argument for why I favor the current method.