Minor refactoring

Compressing some things into single lines for readability.  Also making
the version and ref string more consistent with the rest of the flags.
Reading in the debug flag in a cleaner way
Lots of changes

Long commit, sorry - didn't commit along the way and stuff got tangled.
Shame on me.

Changes:
- moved the delivery-handling function (i.e. the business logic) out of main
- removed rmq log queue following feature. this can be achieved with
  already-existing functionality and the previous implementation wasn't
very flexible.
- allowing consume-cat to exit after processing all messages in its
  queues
- acking messages *after* they are successfully processed
Oops, forgot to clean up a couple comments and print statements
Handling message ack error
Adding a debug statement when finished
Allowing arbitrary additional data in the deliveryPlus struct
Making delivery plus type definition its own file

Since it will be used in the replay app
Forgot to remove unused flag
Making DeliveryPlus struct public for use in main.go
Adding keep messages option, which nacks and requeues

(mainly for testing purposes)
[TRIVIAL] fixing spelling errors
Setting Acknowledger to nil or things don't unmarshal correctly
Adding replay-ninja!!
Adding more useful usage message
Fixing file-reading input so it works correctly
Oops, forgot to remove hardcoded routing key from testing
Removing unused file
Adding packages for each executable and namespacing things
Adding johnny_deps and new namespacing strategy