Fix for thread inheritance and diagnostic context.

If another class inherits from the `Thread` class and defines an initializer,
the diagnostic context inheritnace monkey patching will break. It relies on
the fact that the normal Thread `initialize` accepts any number of arguments
and passes them to the block.

refs #56
Merge pull request #57 from TwP/thread-inheritance-fix

Fix for thread inheritance and diagnostic context.

closes #56