Fix html filter errors, adjust 008filter.t
Deny dir access in HTTPServerSimple.pl
Use Sys::Sendfile instead of IO::SendFile as more compatible implementation
Fix custom field creation
Fix "You are receiving this mail because" styles in HTML bugmail part
Localisation layer for Bugzilla, separated from templates

Languages are put into i18n/<lang>/ and consist of:
* messages.pl - messages for translating templates, substituted at compile time
* runtime.pl - messages that are needed in runtime, setup/strings.txt.pl is moved here
* messages.js - messages for JavaScripts

Templates aren't subdivided into languages anymore; the single
'template/localised' directory is used, and [% L('Message text') %]
or [% L('Message $1 text is $2', 'Param1', 'Param2') %] is used in
the templates. Both forms are substituted at template compile time.

Localised templates are auto-generated from English ones by the
contrib/extract-strings.pl script which also uses i18n/en/blacklist.pl
to determine what strings shouldn't be translated.

So, the commit includes:
* contrib/extract-strings.pl -- script for translating TT templates
* i18n/en/blacklist.pl -- blacklist of messages that should not be auto-extracted
* Template adjustments for more correct string extraction
  (for example, TT does not allow expressions in hash keys)
* Template adjustments for string extraction from JavaScript blocks
* js/*.js adjustments for using i18n messages
* Compile-time i18n message substitution implementation
* Bugzilla::Language class that manages loading of i18n messages