merge postcodes from address objects

Take the postcode from the first address object that
has one tagged and use that as display postcode.
Add some comments to help use munin plugin, add over limit detection
nominatim fallback mode for structured queries
Merge branch 'master' of github.com:twain47/Nominatim
validate postgresql module / functions
Return 429 Too Many Requests for rate limiting
return a 500 error on bad status
check correct variable for SQL error
surpress output of osm_type/id for non-OSM objects in reverse xml
include rank and importance in reverse geocode output
Script to automatically warm the postgresql query before sending traffic
replace ST_Line_Interpolate_Point with ST_LineInterpolatePoint (DB adaption needed)

Name of function was changed in postgis 2.1 and now prints ugly
deprecation warnings. For older versions of postgis, function
will be renamed to the new name during the setup of the DB.

To update existing databases with postgis < 2.1 run:

ALTER FUNCTION st_line_interpolate_point(geometry, double precision) RENAME TO ST_LineInterpolatePoint

and then reinstall the SQL functions:

./utils/setup.php --create-functions --enable-diff-updates --create-partition-functions
fix syntax of route linestring
recreate place objects when admin_level changes

Also added a sanity check to ensure that accidental removal of admin_level
tags on large areas doesn't cause huge reindexing load. That can be disabled
by setting CONST_Limit_Reindexing to false.
restrict admin_level change detection to boundary=administrative
remove landuses if the name is removed

Fixes https://trac.openstreetmap.org/ticket/5104
update osm2pgsql
allow to pass an additional config file via NOMINATIM_SETTINGS variable to command line tools

needed for test environment
make website work with https without browser complaints
split gb_postcode in table creation and data loading

Data for gb_postcode now needs to be downloaded first.
Also fixes table creation for postgis 2.0.