Avoid race condition when handling epmd responses

There is a race condition which can occur when handling responses
from epmd if the response from the daemon comes back before the
callback object is added to EpmdHandler.queue. This has been
verified by adding a Thread.sleep() between the call to
channel.write() and handler.response(). Also ensure we can handle
multiple responses in epmd (instead of pulling all queued responses).