Fix check_ping where output of ping6 when unreachable (Debian #662638)
Initial version of the 'check_dbi' plugin.

This plugin connects to an SQL database using libdbi, thus supporting all
database backends supported by libdbi. It will then issue the specified SQL
query and check the result (the numeric value of the first column of the first
row to be precise) against the specified warning/critical ranges.

The performance data includes the connection time (µs-resolution as provided
by gettimeofday()) and the query result.
check_dbi: Include extra opts in help output.
check_dbi: Added threshold ranges for the connection time.

The -W and -C options are used for that. The plugin return value is determined
by the worst check result.
check_dbi: Check and report the time used by the query.
check_dbi: Fixed/improved perfdata output.

 - do not use zero as 'min' value for the query result perfdata

 - added all semicolons
check_dbi: Replaced -W/-C with -m.

The -m option may be used to specify a metric to check the thresholds against.
This is more flexible than --conntime-warning/--conntime-critical (-W/-C) as
it may be extended to support further metrics without introducing tons of
arguments. Also, it does not make much sense to check the conntime and query
result at the same time.

Currently, the metrics CONN_TIME and QUERY_RESULT are available.

A query is no longer required unless QUERY_RESULT (the default) is used.
check_dbi: Added QUERY_TIME metric.

This metric checks the execution time of the specified query. In case the
query does not return any (parsable) data, this is not treated as an error
when using this metric.
check_dbi: Added some examples to the help output.
check_dbi: Added -e option.

This option may be used to specify a string that is expected as the query
return value. The string is compared to the query result using strcmp().

The option may not be mixed with -w/-c.
check_dbi: Added -r and -R options.

These options may be used to specify an extended POSIX regular expression that
is applied to the query result. When using -R, a case-insensitive match is
done.

The options may not be mixed with -w/-c/-e.
check_dbi: Added SERVER_VERSION metric.

This metric compares the database engine server version with the specified
ranges. The version string [[[[A.]B.]C.]D.]E[.] is returned as E + D*100 +
C*10000 + B*1000000 + A*100000000 (see libdbi's dbi_conn_get_engine_version()
documentation).
check_dbi: Added simple regex example to help output.
check_dbi: Hint the user about cause when dbi init fails.
Added a few test cases for the check_dbi plugin.

All tests use sqlite3. A temporary database is created for the purpose of the
tests.
t/check_dbi.t: Don't use 'INSERT … VALUES (a,b), (c,d)' with SQLite3.

Older versions of SQLite3 don't seem to support that.
check_dhcp: Fix handling of "pad" options

Don't let "pad" options[*] terminate the parsing of DHCP options.  This
bug was triggered by using check_dhcp against Windows 2003 DHCP servers
(see #3503921).

[*] Cf. RFC 2132, 3.1.
check_dhcp: Don't misinterpret the "siaddr" field

RFC 2131 (2.) says: "DHCP clarifies the interpretation of the 'siaddr'
field as the address of the server to use in the next step of the
client's bootstrap process."  So, we shouldn't interpret this field as
the DHCP server's own address.  (#3503921 - Jason Ellison)
Fix check_by_ssh test for non-Bash login shells

In the C shell and in the Z shell, the "?" character must be quoted or
backslash-escaped in order to use it verbatim.  Therefore, a command
such as

	check_by_ssh -H test.example.com -l joe echo huh?

might fail, depending on joe's login shell on test.example.com.

Just to make sure, this commit removes most punctuation characters from
our test strings.
check_disk_smb: Add performance data

(Debian #654259 - Charles-Henri Larose)