cgi/html: Not existing static files should send 404

Requesting an not existing static file is valid, and should send 404.
The current 500 error is wrong.
cgi/html: use CGI.pm fonctions instead of env vars
cgi/html: redirecting the graph to its CGI
cgi/html: fixing the extension for the graph urls
sql: suppress extra $log_file handling
dev_scripts: untaint the CGI scripts on dev box

A tainted perl does not respect the PERL5LIB overrides, so it is
useless.

Note that this means that it there should be a better way to handle
sandboxes, since the goal is to have all the code taint-clean.
cgi/graph: untaint the logger configuration
cgi/graph: send a HTTP-400 upon forbidden chars

HTTP 400 error code seems much better expressing that one should not
send forbidden chars in the URL than a mere 404.
cgi/graph: add an extra comment on 404

This makes it easier to debug on where the 404 comes from.
cgi/html: adding some Cache-Control rules to 301
cgi/html: avoid a 301 for PNG urls
cgi/html: avoid sending 2 HTTP headers
cgi/html: fix the link for the services

Beware, the URL table has paths in absolute. So always use absolute
paths. Yet, still relative to script_name().
Revert "master: remove taint (TO BE REMOVED via REBASE)"

This reverts commit 54bad4a5a0971a112f79ddc0b74676c3720465c9.
cgi/html: revert to use a 404 for unknown pages
Merge remote branch 'bb/sql' into sql