Minor SNMP plugin bugfix for generic data types

Without this, the SNMP graph renderer return no data.
Don't show overlap AREA on Generic IO graphs when negative_io is set
Follow symlinks when locating .rrd files
Add the percent_bytes type to the df plugin
Create an exec plugin
Allow warning/failure threshold HRULEs to be rendered on graphs

This adds an option to the default graph type to add HRULEs on graphs
for warning (yellow) and error (red) thresholds at arbitrary levels.

This is currently being used to draw lines on the load average graph
(CPU count and 2x CPU count).

To work, this fixes a bug in the javascript graph renderer related to
HRULEs without legends, and only counts CPUs whose plugin instances are
numeric.
Customize Ping graphs with shaded backgrounds when hosts are down
Add basic skinning/theming support

Fix area background canvas color

Allowing plugins to set skin-specific colors

Add overrides for automatic color generation functions

Allow stacked area graphs to render AREAs without adding LINEs
Make skin class a subclass of the default type class for easier function overrides