Change name of MainThread in reloader process to WerkzeugReloader;
this is useful because it's visible as such in the log.
Monkey-patch threading.Thread.start to inject our Thread.run wrapper,
instead of overriding Thread.start in a subclass. I decided I didn't
like forcing everyone to explicitly use the subclass. Since we're
monkey-patching run on the instance anyway, it doesn't seem much
worse to monkey-patch start globally. What we end up doing to run
is exactly the same.
Improve reconnect robustness.

Add try/except around the actual reconnect attempt; if reconnect
fails with an exception, wait (with exponential backoff) before
trying again.

Fixes #7.