added possibility to choose between holding and input registers

I added 'Function' parameter to modbus plugin config. It's value can be 'holding' or 'input'. Plugin then uses modbus_read_registers or modbus_read_input_registers function from libmodbus. Default value is holding. This does not work with legacy libmodbus.

Something like this should be added to modbus section of collectd.conf documentation:
Function holding|input
Specifies register type to be collected from device. Works only with libmodbus 2.9.2 or higher. Defaults to holding.
This is better aligned to the beginning of the line.
Shouldn't this be `#ifdef` by the way ?