Properly route call_accept
Fix simulator / listener EventMachine issues

This fixes the simulator to work properly within the context of the
EventMachine reactor loop. Our solution is to start EventMachine in a
separate thread, before starting IRB (interactive sim) or calling
`listen` (sim listener). We then handle interactions with EventMachine
using EM.schedule, which schedules a callback to run on the reactor
thread.

The interactive listener first calls `listen` to set up the AMQP
subscription, and then `join`s on the EM thread to keep it running.

Persistent AMQP connections are still not used (created/closed for each
message) but at this point that's a relatively low priority and probably
harmless issue.