Set GeoCouch limit to 1000 (~200kB).
Fixed bad code layout.
Allowed multiple direct keys with /^(<KEY>|...)$/.

- values defaults to "." because this causes control flow to revert to
  _list/tabulate/field-type-value (more expensive) if unchanged,
- /^(<KEY>|...)$/ has preference over /^<KEY>$/,
- in both cases, values ends up as an array of keywords,
- values.join(',') is further examined for \s.*$etc.,
- eval is used to replace escape sequences with their represented characters,
- JSON.parseable strings are appended to the keyword list.
Removed limit from params.options for short key lists.
Preceeded _spatial/bbox query with option count:true.

I am not sure yet if this helps. It obviously lakes workload off the client but
asking for the amount of geometry takes about as long as asking for the
geometry itself.
There should be a viewport array for this to avoid querying crowded areas
twice. Unfortunately this one would have to be build from inside out, so it is
inversely to the one already in place.