core: Add RereadConfiguration event.  Signal SIGHUP fires it.

Two comments:

1. I'm not sure if "self._add_signal_handlers()" is placed at the right spot.

2. Systems that doesn't support SIGHUP signal.signal() throws ValueError (which is handled with a log.warn)