A mock that can be used to wait until on calls happening
in a different thread.
The constructor can take a `timeout` argument which
controls the timeout in seconds for all `wait` calls of the mock.
You can change the default timeout of all instances via the
`ThreadingMock.DEFAULT_TIMEOUT` attribute.
If no timeout is set, it will block undefinetively.