add support for custom register/coil handlers

set_register_handlers() and set_io_bits_handlers() can be
used to change from the default array mapping to different
handlers more suitable to the application.
modbus_mapping_t data fields are now "void *"
changed function ptr names to be harder to duplicate