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.
Yes. `index` is the term used in the `_` docs, but I can call it `key` if you think that is more clear.