New features:

- Now uses YAML in place of/addition to JSON
- Allows a `timeout` to be passed so workers can exit
- Raises a `TimeoutReachedException` when timeout is reached
- Callable can now receive the job body as a string rather than as kwargs
- Tube name is now passed in as `__tube__`