Fix race condition when starting task on foreign node

When starting a task on another node, the Task.Sup.async call would
raise if there was a netsplit. However when the task spawned it would
attempt to reconnect to the caller's node. If this was successful it
could wait forever for the monitor reference, if the caller caught the
raise from Task.Sup.async and was still alive and went on to exit
normally.