Fix additional deadlocks when trying to pause

The finalizer thread might have paused in a gc_dependent call so it
might not be running. Therefore when we pause, if a thread state is not
eRunning, we can also safely pause.

This is safe because we also change to stop the world before trying to
stop the auxiliary threads. This is also needed because other threads
might actually be restarting stuff when they just did a fork after
stopping auxiliary threads and before stopping all other threads.

We also remove the gc_independent in the JIT, because it LLVM might have
internal structures locked at that point and if we fork then, the new
jit thread in the sub process can hang because of this locked thread.