nfs, zfs_arc plugins: Fixed discards qualifiers from pointer target type warn.

kstat_data_lookup() and get_kstat_value() expect char pointers rather than
const char pointers.
nfs, zfs_arc plugins: Make sure to return from non-void function.
plugin: Introduced basic support for per-plugin intervals.

This is based on a newly introduced "plugin context", which stores plugin-
related settings (currently the plugin interval) for each registered callback.
The context is initialized when loading the plugin (LoadPlugin), setting the
interval to the value of the newly introduced "Interval" option of the
LoadPlugin block, if specified.

The context is set (using thread-specific data) and restored before and after
calling any callback.

This way, single plugins don't need to take special care in order to benefit
from the new feature. plugin.c will handle (most) situations automatically.

VALUE_LIST_INIT() has been changed to honor the plugin interval settings (if
any). As a helper, the new 'plugin_interval' macro may be used to access the
current plugin's interval (read-only).

Thanks to Florian for the initial idea!
plugin: Added plugin_thread_create().

This function is a wrapper around pthread_create() which copies the plugin
context to the new thread. Else, that information would be lost.
Create directories with permission 0777.

Let umask work its magic. Thanks to "Poil" for reporting this problem.
Fixes GitHub issue #63.
contrib/collection3: Ignore control characters.

While they are correctly encoded, e.g. as "&#15;", browsers will
complain about invalid XML and not render the page. Ignore all control
characters other than whitespace.
collectdctl: Fix PUTVAL for data sets with multiple data sources.

Thanks to Cyril Feraudet for pointing out this problem!
collectd.conf(5): Fix typo.
netapp plugin: Close connection on communication errors.
src/utils_rrdcreate.c: Handle "last update" in a saner way.
src/utils_avltree.c: Add sanity check to c_avl_destroy().
collection3: Filter out identifiers with control characters.

Otherwise XML errors will prevent the page from rendering.
src/utils_dns.c: Rename the "s_addr" and "d_addr" variables.

On Solaris, there is a macro called "s_addr" resulting in syntax errors
when this is used as a variable name. The variables have been renamed to
circumvent this problem. Thanks to Maciej Bliziński for reporting this
problem and helping to debug it!
src/utils_dns.c: Remove duplicate line.
collection3: Use {instance} in Df's grpah title.

{type_instance} didn't work when used with other plugins than "df", e.g.
the example configuration of the Oracle plugin uses this.
oracle plugin: Report the "connect id" when OCILogon() fails.
oracle plugin: Add database name and query name (if applicable) to error messages.
src/common.[ch]: Add rate_to_value().
src/utils_vl_lookup.[ch]: Add module for efficient lookup of VL matches with wildcards.

For a planned aggregation plugin it is important to find "aggregations"
quickly. In order to aggregate anything, they need to include wildcards.
This module provides this basic lookup service, on top of which an
aggregation plugin can easily be built.

This is kept very modular so the code can (hopefully) be used by other
projects as well, in particular c4 could benefit from this lookup structure
as well.
src/utils_vl_lookup.c: Fix a wrong pointer being passed to the callback.