Move apidb-specific files to the backend/apidb dir

Includes also adjusted
Refactor changeset_cache out of formatters

The changeset cache is now in the apidb-specific files, not the formatters.

There are still cache-specific details in main.cpp, but they don't impede
adding backends where the idea of a changeset cache is not applicable.
Fixed keys in JSON user output and made it so that uid and display name are always either both present or both absent.
Refactoring to fully remove changeset cache from main.
Merge remote-tracking branch 'origin/master' into changeset_cache_refactor
Work in progress, getting all the backend stuff out of main and into the backend.
Eliminate num_nodes on map? calls

This uses the knowledge of how many rows we just inserted to avoid a
sequential scan of tmp_nodes

Fixes pnorman/openstreetmap-cgimap#5
Merge pull request #22 from pnorman/num_nodes

Eliminate num_nodes on map? calls
Made APIDB build configrurable, but enabled by default.
This should make it easier to add other backends with modular compilation and testing.
Merge branch 'changeset_cache_refactor'
Merge remote-tracking branch 'origin/master'