Added _view/geojson-doc.

This probably gets more and more confusing because there is already
_view/geojson and _view/bbox. The latter is also capable of mapping documents
to GeoJSON keys (this ability won't be needed in the near future).
It's all starting to make sense as soon as geometric and content-based are
clearly separated and we have a handful of views each designated to only one of
those two tasks.
1st draft on an improved filter cascade.

The general plan is to do this overhaul in the smallest possible steps because
I'd very much like to avoid extensive bug fixing. Hence this commit did just
* add a global document list and filter cascade
* remove responses to filter form changes
* remove filter options posted to _list/bbox-filter and
* fetch document list from _view/geojson-docs. The list is stored as
  [[doc_id,GeoJSON_id],..] for the lack of a better idea. This requires a
  manual array search since Array.indexOf() won't work with the geojson_id
  unknown. A viable alternative would be an object {doc_id:GeoJSON_id,..}. This
  on the other hand allows no referencing by index, which I might employ to
  keep memory consumption small.
Next draft on revised filter cascade.

Document ids are now retrieved from the document list but there occur serious
lags that need investigation.
More improvements on the new client design.

I stashed the [[GeoJSON, error], [GeoJSON, doc_id]] list within item and
removed the docs property entirely. Detail levels won't work for now.
Restored detail levels.

This was easy. I like how the keys do not have to be rebuild from the documents
array every time. It still appears more sluggish than before, but I should
compare both versions first.
Removed content-selection from _list/bbox-filter.
Removed emission of id->{doc:..} from _view/bbox.
Adjusted _list/bbox-filter to new _view/bbox KV pairs.

_view/bbox produces a neatly sorted key list now, so I threw away the poorly
coded bbox-filter. The new one runs (theoretically) faster, because it avoids
redundant bbox checks. It is also far moe readable than before.
Application avoids a viewport update if no more items are visible.

The simple reasoning is that if the last viewport contains less items than
requested, I don't have to update anything. Strangely, Chrome was confused by
the use of 'keys' in different scopes; capitalization fixed it somehow.
Refined geometry update as in commit 1d02334be125.
Fixed occasional empty bullets below map canvas.
Added _view/bulk-ids to toolkit.

This comes in handy if I want to get ids of certain bulk uploaded documents
every once in a while. I used exactly this as a temp view already.
Of course it is non-sense for any non-sequential uuid config.
Added unified time range to _view/dimensions reduce output.

CommonJS is unavailable for reduce functions so I had to quote it from
lib/range. Avoided the use of range/toRange or range/toString because they are
most likely to be changed for more flexibility and I would end up with more
code maintenance. The expand function could look simpler for sure.
Simplified reduce function of _view/dimensions.

Undefined i.e. infinite bounds are ignored, because there is always data
without any time information and I have not written this reduce function to
output a useless infinite range.
There is one small glitch though that, for instance, undef-2010 | 2011
evaluates to 2011 instead of 2010-2011.