Better Solution to #12

This is a more thread-safe solution to re-loading the config. It also
allows breaking from the listen-reload loop without throwing an
exception.