Outbound calls can receive events before they are placed in the registry for event dispatch

I have an app connected to FreeSWITCH mod_rayo that calls an Asterisk instance on the same LAN.  The Asterisk instance answers the call immediately after the INVITE is sent, without signaling ringing.  The end result is the following logs:

```
[2014-02-20 21:00:24.449] TRACE Punchblock::Connection::XMPP: SENDING: (/Users/bklang/.rvm/gems/ruby-2.1.0/gems/blather-1.0.0/lib/blather/client/client.rb:149:in `write') <iq type="set" to="freeswitch.local-dev.mojolingo.com" id="cd39d372-3c4b-46a2-9700-be811f47d2d7">
  <dial xmlns="urn:xmpp:rayo:1" to="sofia/gateway/asterisk/default" from="sip:90371542@10.3.18.108"/>
</iq>
[2014-02-20 21:00:24.472] TRACE Punchblock::Connection::XMPP: RECEIVING (iq) <iq from="freeswitch.local-dev.mojolingo.com" to="usera@freeswitch.local-dev.mojolingo.com/morningside.local-95193" id="cd39d372-3c4b-46a2-9700-be811f47d2d7" type="result">
  <ref xmlns="urn:xmpp:rayo:1" uri="xmpp:ed75f6da-9a9b-11e3-a13f-d1a5e1dcb2c6@freeswitch.local-dev.mojolingo.com"/>
</iq>
[2014-02-20 21:00:24.472] TRACE Punchblock::Connection::XMPP: RECEIVING (presence) <presence from="ed75f6da-9a9b-11e3-a13f-d1a5e1dcb2c6@freeswitch.local-dev.mojolingo.com" to="usera@freeswitch.local-dev.mojolingo.com/morningside.local-95193">
  <answered xmlns="urn:xmpp:rayo:1"/>
</presence>
[2014-02-20 21:00:24.475] WARN  Adhearsion::PunchblockPlugin::Initializer: Event received for inactive call ed75f6da-9a9b-11e3-a13f-d1a5e1dcb2c6: #<Punchblock::Event::Answered target_call_id="ed75f6da-9a9b-11e3-a13f-d1a5e1dcb2c6", target_mixer_name=nil, component_id=nil, source_uri="xmpp:ed75f6da-9a9b-11e3-a13f-d1a5e1dcb2c6@freeswitch.local-dev.mojolingo.com", domain="freeswitch.local-dev.mojolingo.com", transport="xmpp", headers={}>
[2014-02-20 21:00:29.695] TRACE Punchblock::Connection::XMPP: RECEIVING (presence) <presence from="eae71570-9a9b-11e3-a13a-d1a5e1dcb2c6@freeswitch.local-dev.mojolingo.com" to="usera@freeswitch.local-dev.mojolingo.com/morningside.local-95193" type="unavailable">
  <end xmlns="urn:xmpp:rayo:1">
    <hungup platform-code="16"/>
  </end>
</presence>
```

Note in particular the warning about a call ID that is inactive.

Here's an example from a working instance, where I artificially delayed answering the channel:

```
[2014-02-20 22:10:32.577] DEBUG Adhearsion::Call: b73b8198-9aa5-11e3-a110-af1914afbcca@freeswitch.local-dev.mojolingo.com: Receiving message: #<Punchblock::Event::Complete target_call_id="b73b8198-9aa5-11e3-a110-af1914afbcca", target_mixer_name=nil, component_id="output-1", source_uri="xmpp:b73b8198-9aa5-11e3-a110-af1914afbcca@freeswitch.local-dev.mojolingo.com/output-1", domain="freeswitch.local-dev.mojolingo.com", transport="xmpp", reason=#<Punchblock::Component::Output::Complete::Finish target_call_id=nil, target_mixer_name=nil, component_id=nil, source_uri=nil, domain=nil, transport=nil, name=:finish>, recording=nil, fax=nil, fax_metadata={}>
[2014-02-20 22:10:32.579] DEBUG Adhearsion::OutboundCall: @: Executing command #<Punchblock::Command::Dial target_call_id=nil, target_mixer_name=nil, component_id=nil, source_uri=nil, domain=nil, transport=nil, request_id="fc91a9d3-c39a-4e1e-b379-52135bab6b7c", headers={}, to="sofia/gateway/asterisk/default", from="sip:90371542@10.3.18.108", timeout=nil, join=nil>
[2014-02-20 22:10:32.579] TRACE Punchblock::Connection::XMPP: SENDING: (/Users/bklang/.rvm/gems/ruby-2.1.0/gems/blather-1.0.0/lib/blather/client/client.rb:149:in `write') <iq type="set" to="freeswitch.local-dev.mojolingo.com" id="fc91a9d3-c39a-4e1e-b379-52135bab6b7c">
  <dial xmlns="urn:xmpp:rayo:1" to="sofia/gateway/asterisk/default" from="sip:90371542@10.3.18.108"/>
</iq>
[2014-02-20 22:10:32.600] TRACE Punchblock::Connection::XMPP: RECEIVING (iq) <iq from="freeswitch.local-dev.mojolingo.com" to="usera@freeswitch.local-dev.mojolingo.com/morningside.local-96691" id="fc91a9d3-c39a-4e1e-b379-52135bab6b7c" type="result">
  <ref xmlns="urn:xmpp:rayo:1" uri="xmpp:b9b52758-9aa5-11e3-a115-af1914afbcca@freeswitch.local-dev.mojolingo.com"/>
</iq>
[2014-02-20 22:10:32.600] TRACE Punchblock::Connection::XMPP: RECEIVING (presence) <presence from="b9b52758-9aa5-11e3-a115-af1914afbcca@freeswitch.local-dev.mojolingo.com" to="usera@freeswitch.local-dev.mojolingo.com/morningside.local-96691">
  <ringing xmlns="urn:xmpp:rayo:1"/>
</presence>
[2014-02-20 22:10:32.603] WARN  Adhearsion::PunchblockPlugin::Initializer: Event received for inactive call b9b52758-9aa5-11e3-a115-af1914afbcca: #<Punchblock::Event::Ringing target_call_id="b9b52758-9aa5-11e3-a115-af1914afbcca", target_mixer_name=nil, component_id=nil, source_uri="xmpp:b9b52758-9aa5-11e3-a115-af1914afbcca@freeswitch.local-dev.mojolingo.com", domain="freeswitch.local-dev.mojolingo.com", transport="xmpp", headers={}>
[2014-02-20 22:10:35.587] TRACE Punchblock::Connection::XMPP: RECEIVING (presence) <presence from="b9b52758-9aa5-11e3-a115-af1914afbcca@freeswitch.local-dev.mojolingo.com" to="usera@freeswitch.local-dev.mojolingo.com/morningside.local-96691">
  <answered xmlns="urn:xmpp:rayo:1"/>
</presence>
[2014-02-20 22:10:35.589] DEBUG Adhearsion::OutboundCall: b9b52758-9aa5-11e3-a115-af1914afbcca@freeswitch.local-dev.mojolingo.com: Receiving message: #<Punchblock::Event::Answered target_call_id="b9b52758-9aa5-11e3-a115-af1914afbcca", target_mixer_name=nil, component_id=nil, source_uri="xmpp:b9b52758-9aa5-11e3-a115-af1914afbcca@freeswitch.local-dev.mojolingo.com", domain="freeswitch.local-dev.mojolingo.com", transport="xmpp", headers={}>
[2014-02-20 22:10:35.590] INFO  Adhearsion::CallController::Dial::Dial: fb627f1c-6fcd-42bb-9f7f-a5950a734e4b: #dial joining call b9b52758-9aa5-11e3-a115-af1914afbcca to b73b8198-9aa5-11e3-a110-af1914afbcca
```

Note the warning is still present, but now it's on the `<ringing/>` element.  I suspect this is a race condition after the `<dial/>`.