Refactor multistart detection
Refactor multistart detection

Multistart detection previously used panics and a global var
to try to detect multistarts during tests.
We are now calling Unlock() on an unlocked mutex to trigger a fatal runtime
error, which is impossible to recover in supervisors.

thejerf/suture,thejerf/suture