Command to dump all messages on a queue to stdout.

This is a very dangerous command hence you have to give the following
command line option: --yes-i-want-to-remove-all-messaeges-from-the-queue.
Which should protect against the obvious typos. If you are using this
from bash or zsh make sure you add a space in front of the command so it
won't be included in your history. Oh yes you'll have to configure the
shell to work this way, for zsh: setopt hist_ignore_space.
Update todo list.
Add bin/pry-smith to the gemspec.
Hack to make class_eval work in Ruby 2.0 and JRuby.

Given that I'm going to replace the state_machine gem I'll leave this as
a hack.

Note to self: find out what changed in Ruby 2.
Replace Leveldb with TDB.

Leveldb is a pain in the arse to compile and really not needed in this
case. TDB is more than enough, in fact sdbm is probably enough, but I'll
leave it as is for the time being.
Update todo list.
Remove the queue garbage collector.

This is was a misguided idea and caused problems with auto-recovery. So
instead of using random queue names for replies use the queue name with
a suffix of reply. Of course this will fail when there are multiple
clients, but for the timebeing this will have to do.

There is still a channel leak with this implementation because server
side channels don't get closed but it is a comparitively slow leak.
Reorganise requires. I'm sure there's more work to be done here.
Use auto_ack. There's no reason not too.
Add to_s to QueueDefinition and Timeout.
Use the default timeout for on_timeout.
Don't catch exception. I want it to explode!
Add support for message using the old message type header.

This should be removed after a period of time.