Remove reference to supplied configuration, not active one
Couple changes:

 1) Use SIGHUP again (is really the canonical reload config signal)
 2) When spinning up a new data thread, need to dereference val->data to
 get to the data_source_list_t *.
 3) We need to replace the configuration before we release the old
 configuration, but after the new configuration could be started. This
 fixes a race condition.