Merge pull request #380 from portertech/refactoring

pre-beta build cleanup
[version] 0.9.8.beta yo
Merge pull request #381 from portertech/version

[version] 0.9.8.beta yo
Merge pull request #382 from portertech/refactoring

moved api_request method to helpers, used by aggregate tests
[issue-383] ensure client name is not empty
Merge pull request #384 from portertech/issue-383

[issue-383] ensure client name is not empty
[execute] execute_command method, pass 'em blocks around
[execute] mutate_event_data takes mutator name, refactored handle_event
[execute] cleaned up built-in mutators, handler on_error remove handler from in progress count
[execute] execute_command close write even w/ nil data
[execute] removed a few destructive methods
[execute] refactored event_handlers
Merge pull request #386 from portertech/execute

Re-factored event handling, reduced the use of the thread pool 
[reconnect] use periodically_reconnect and catch possible auth failures
[reconnect] ruby 1.8 procs don't follow the same rules
Merge pull request #387 from portertech/reconnect

RabbitMQ reconnect, use periodically_reconnect and catch possible auth failures
[gems] use em 1.0.0, require specific version of amqp
[gems] bumped thin to 1.5.0
[gems] require a specific version of cabin
[gems] require a specific version of ruby-redis