Corrected Content-type to application/json.
Linked map.html to script/google.maps.js.
Fixed wrong use of the 'in' operator.

There should actually be brackets around as in (!('field' in object)) and that
makes it larger than (object.field==null), so I went for the smallest one.
Switched to array-depletion via Array.shift().

It looks nicer.
Removed document update delay.

Although it looked funny, it wasn't that CPU time critical to be written as
pseudo-vectorized loop. I placed a 'continue' at the end of the block to just
proceed with the next row, which voided the entire 'GeoJSON' part being in an
if-statement all together.
Everybody wins!!!!
Added _list/export to XML/GeoJSON/whatever.

In contrast to my previous beliefs, ArcGIS manages to read .geojson-files just
fine as long as I have a top-level 'name' property set. That pretty much
settles my needs for geometry export.
MS Excel as well as LibreOffice cope with a stupid bloated XML scheme. At least
it's not binary, so I'm going to cover that as well.
Output will be filtered by listing _view/geojson keys as encoded URI. I am well
aware that the amount of these is limited to ~50 or something, so as soon as
they are exceeded, I have to come up with a compressed scheme that is handled
inside the list.
Improved _list/export to be flexible about geometries.

I found that keys[1] was harder to read that value.GeoJSON.error. The list
should also succeed if no geometries are missing.
Removed stupid undefined form actions in upload.html.
Fixed commit bc928416f3449.

I haven't thought this through entirely.
Added compressed_keys query parameter to _list/export.

My conundrum that I have with forms and CouchDB renders as such:
- Pure HTML5 form posts are very much unable to create JSON-compliant payload
  data. Neither with hidden inputs nor with $().submit() hooks.
- I want to point the browser to something it can save as a file.
- Data URI Scheme/Blobs have limits in their implementation which makes them
  not that safe-to-use.
That leaves me with GET requests solely.
Therefore I have to cope with limitations on the amounts of keys that can be
specified in the request params, 8.1k or something.
This justifies the hacky compressed key scheme I came up with: it enables the
list function to manually print-skip-print-skip-... the given number of docs.
I used a top-level query parameter in favor of a nested 'options' object,
because I still want the URL to be kind-of transparent.
I used the dash because it doesn't get translated into a %2Fetc-encoded string;
this saves space, as I am unsure how far I can go with this.
Added 'export' form to map.html.

I avoided the call to window.open() if the URL is too large. CouchDB URL's are
limited to something like 8182 bytes and the application receives an internal
server error if this length is exceeded.
Applied key compression scheme if URL is too long.

It was difficult but leaves me satisfied for the day (in an eerie way).
Restored Content-Disposition in _list/export.

Most browers would open the GeoJSON as if it were a text file, as they should.
Practical consideration favors just duming the file in a folder.