Run signal handler blocks in the event loop

This fixes the following bug:

  [MASTER 965] INFO: Reloading einhorn (.../vendor/bundle/ruby/1.9.1/bin/einhorn)...
  .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/command.rb:183:in `[]=': can't add a new key into hash during iteration (RuntimeError)
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/command.rb:183:in `block in reload'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/command.rb:180:in `fork'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/command.rb:180:in `reload'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/command.rb:289:in `reload_for_preload_upgrade'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/command.rb:281:in `full_upgrade'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/command/interface.rb:166:in `block in install_handlers'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn.rb:12:in `call'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn.rb:12:in `state'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn.rb:18:in `method_missing'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/worker_pool.rb:15:in `block in modern_workers_with_state'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/worker_pool.rb:14:in `select'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/worker_pool.rb:14:in `modern_workers_with_state'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/worker_pool.rb:20:in `acked_modern_workers_with_state'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/worker_pool.rb:32:in `acked_unsignaled_modern_workers'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/worker_pool.rb:49:in `ack_count'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn/command.rb:311:in `cull'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/lib/einhorn.rb:327:in `run'
     from .../vendor/bundle/ruby/1.9.1/bundler/gems/einhorn-27f5313b9627/bin/einhorn:304:in `<top (required)>'
Merge pull request #22 from stripe/gdb

Run signal handler blocks in the event loop