psgi: handle HEAD requests correctly

Without Plack::Middleware::Head enabled, the body of the request is
sent for HEAD requests.
decode_possible_utf8_params: predictable order of keys

The former %new_param implementation was turned into @new_params, so
changes here have the same order even if hash normalization is in
effect (i.e. for perl 5.18 and newer).
travis: psgi setup
bbbike2.cgi.config for travis-ci
BBBIKE_TEST_SKIP_MAPSERVER for t/mapserver-util.t
add to_app() to psgi file

This fixes the Plack warning:
WARNING: Automatically converting Plack::App::File instance to a PSGI code
reference.  If you see this warning for each request, you probably need
to explicitly call to_app() i.e. Plack::App::File->new(...)->to_app in
your PSGI file.
workaround for If-Modified-Since check
wwwdata.t: mark some tests as TODO for Plack

Actually, the condition is TRAVIS=true, as Starman does not send any
Server HTTP header for identification.
psgi: ConditionalGET for 304 responses
standard debian cgi config: prefer Cairo over PDF::Create
better diagnostics in cgi.t
fix hash randomization problem in cgi.t