Merge pull request #12 from gauthierm/add-gearman-can-work

Add hook to prevent Gearman doing work.
Start of an AMQP module.
More work on AMQP support.

 * added basic sync/async API
 * added basic worker infrastructure
More work on AMQP support.

 * fix publish() arguments
 * fix config option name
 * fix consume() flags
 * fix sending acks
Make replies work. Add docs.
Fix issues with sync job processing.
Send 'fail' for failures.
Add AMQP job failure exception and docs.

Updated module to throw exception when receiving a failure from the job
server.
Update work loop to use polling.

This allows signal handlers to work and makes it possible to have a
canWork() method.
Make timeout in milliseconds not nanoseconds.
Use explicit boolean.
Add test client/server implementations for AMQP.
Add timout config for sync calls.
Set test timeout higher.
Remove Gearman reference.
Fix phpdoc syntax typo.
Fix documentation of handleSigTerm().
Reduce duplicated code.
Documentation improvements.
Always persist messages in job queues.