Use PHP builtin email address validation.

* inc/typeinfo.php (is_email_format): this function implemented its own
validation of email address and was failing for some less common cases such
as email addresses with a "+" sign. Replaced with FILTER_VALIDATE_EMAIL.
Of course, the only method to confirm the email address is correct is to
actually send an email (see perlfaq9).
Fix english typo on message when removing mask.
style: keep lines under 80 characters.

* inc/actions/masquerade.php, inc/actions/calendar.php: only aesthetic changes
to keep lines under 80 characters.
Add link to return to instrument list at top of calendar view.

* inc/actions/calendar.php: create a link to return to instrument list on top
of the calendar, in addition of the link at the bottom of the page. Also cut on
some duplicated code.
Fix check for granularity of a booking.

* inc/bb/bookingentry.php (BookingEntry::_legalSlot): this check ensures that
when bookings are made manually (instead of through the dropdown menu), their
time is correct, i.e., when bookings must be of 1h long, there is no attempt to
make a 1h30m booking. We must clone the SimpleDate object properly otherwise
when we addTime() to $stoptime, we also add it to $starttime, and the difference
between them will be zero which is always valid.
Reduce code duplication for generation of list view.

* inc/bb/calendar.php (Calendar::displayMonthAsList): create map between
field names and anonymous functions to generate table/list text in order
to reduce duplication.
style: keep lines under 80 characters.

* theme/contentfooter.php: only aesthetic changes to keep lines under 80 characters.
style: indentation and lines under 80 characters.

* inc/db.php, inc/formslib/sql.php: only aesthetic changes to keep lines under
80 characters, and to follow GNU coding guidelines.
inc/bb/calendar.php: remove oxbow code (leftovers from refactor ba73781)
Replace the deprecated mysql_* functions with PDO and PDO_MYSQL driver.

* inc/db.php: make connection to database using PDO and create an object meant
to be used as global variable. This is not the ideal solution but allows for
an initial move out of the mysql_ functions.
* inc/formslib/sql.php: all the calls to the mysql_ functions, were replaced
with methods to the global variable of the connection hence the require of
db.h where the connection is created.
(db_quiet): trimmed down to avoid code duplication with db_get().
(db_get_single, db_fetch_array): these used a comparison and check for resource
which no longer work when using objects. Replaced with is_a().
Remove option to display server signature in the footer of every page.

* theme/contentfooter.php: completely remove display of information about the
server, php, and database types and versions that bumblebee is running on. Such
information is only useful for sysadmins, and exposes too much for the casual
user.
* config/bumblebee.ini: remove 'server_signature' option from default
configuration file.
* inc/bb/settings.php: remove 'server_signature' option from bumblebee's web
interface settings page.
* inc/formslib/sql.php: remove db_get_version() and db_get_name() functions
since they were only being used for the server signature.
* inc/systemstats.php: remove webserver_get_name() and webserver_get_version()
functions since they were only being used for the server signature.
inc/formslib/sql.php: add missing ')' on code.
Create 'templates' directory and 'bumblebee' template from current theme.

With the purpose of allowing alternative themes without modifying the original
source, all theme files will now create the default bumblebee template. A
new directory, 'templates', will allow for multiple templates to exist side
by side, with choice of template made at configuration level. The actual code
and configuration for this still needs to be implemented on a separate commit.
Add support for installation of multiple templates.

* config/bumblebee.ini, inc/bb/settings.php: add template option (defaulting
to 'bumblebee') and removal of emailTemplate, emailRequestTemplate,
htmlWrapperFile, and emailTemplate which are now part of the template (not a
configurable option).
* inc/actions/billing.php, inc/actions/bookcontact.php,
inc/bb/bookingentry.php, inc/bb/calendar.php, inc/bookings/booking.php,
inc/bookings/vacancy.php, inc/export/htmlexport.php, inc/export/pdfexport.php,
index.php, templates/bumblebee/contentheader.php,
templates/bumblebee/export/exporttemplate.html,
templates/bumblebee/pagefooter.php, templates/bumblebee/pageheader.php: replace
replace lookups of 'theme/...' by 'templates/$template/...'. All of this paths
are still very much hardcoded and should be made simpler if templates are to
become viable option.