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.
"For queries that do significant computation but reduce the result set size significantly (e.g., aggregation queries), the wait time for results can be..."