- Validate configuration input errors, adding validation for input values, with more descriptive messages if the user enters wrong values. - Allows input error handling for values which are not strictly required. The goal is avoid the annoying requirement to put "port" and "interval" at every single host. - Make the configuration file reloadable (see bpdyndns). In December 2014 / January 2015 did a lot of changes to ICMP pinger (IPv4) which were not replicated in TCP pinger nor in ICMPv6 pinger. Should check if same changes need to be applied there, too. In particular, the scheduling of reply receive handlers in ICMP caused trouble, often encountered 'ghost' packages which were all 0s because a handler for an old echo request was triggered without new data. Also, removed threads for each pingchecker, leaving only one thread with one io_service for all pingers. Tested that a lot with ICMP v4 pinger, but no other. If the system time is changed backwards, the pingchecker freezes, including its signal handler (boost asio's deadline_timer seems to work with time points on a non-monotonic clock). Change that! (apparently, boost asio 1.49 introduces a steady_timer, try that)