Deleted redundant initialization of 'keys'.

It so happend that there was a 'global' (i.e. most outer function scoped)
variable that is also named 'keys' and whose content is EXACTLY THE SAME!!
I copied it selectively into a local 'ids' array.
Boy I have to do something about these stupid global names, they're gonna stab
me in the back some day.
This improves loop performance and removes clutter.
Changed initialization to build hash table destructively.
This partially reverts commit 54269f4cd8710.

Turns out that 'keys' is not always as initialized as I want it to, so I was
right in the first place. 'ids' is still a better name, though.
Pre-filtered geometries with _spatial/bbox for spatial relations.

This is similar to how it's implemented in update_items(): All matching ids are
hashed for faster look-up, and in a second step, options.keys are run by that
hash-table.
_list/bbox-filter still needs to be queried twice, because _spatial/bbox
returns intersecting bounding boxes. It shouldn't hurt to further reduce these
to contains/within before running the extensive point-in-polygon query.
Added a bit about GeoCouch in the README.

As long as /_plugins doesn't work in Windows, I can't provide a nice GeoCouch
installer. This should be fixed in 1.6.2 or something.