Add context manager to enable mocking of signal handlers

Provides the ability to mock signal receivers to allow testing of signal dispatch.

e.g.:

    with mock_signal_receiver(signal) as receiver:
            # Do the thing that should trigger the signal
            self.assertEquals(receiver.call_count, 1)