move spatial and temporal options here from couch_cacher

it doesn't make sense to have aggregation options in couch_cacher, as
they are not used except to prep data for pushing to this reducer
code.  So put that stuff here.

API change, as now I need to have an opts object that defines the
reduction rule.  Optional if you aren't going to call
process_collated_record, but if you aren't calling that, what is the
point of using this program, eh?