cluster: disconnect should not be synchronous

Callbacks in node are usually asynchronous, and should never be
sometimes synchronous, and sometimes asynchronous.

Test is backported from https://github.com/joyent/node/commit/6f40abe2d445516de629d289afe21f458e7cc1e9

and enhanced to assert the non-synchronicity of the callback.
Could you remove the blank line before this and initialize `disconnected` to `false` (just for extra clarity)