Lock when calling Console::stop_threads().

When calling this method (e.g. when forking) there would be a very small time
frame where a read() call in FSEvent could be called _before_ the exit-request
status was set. This would result in a console thread hanging forever in a
read() call as everything else was already shut down (by the looks of it).

The solution here is to lock before we set the status and perform any cleanup
tasks.

This fixes #3121 #3129.