Polish up the examples

- Use argparse
- Use Consumer/Publish objects instead of the Simple* objects to
  demonstrate how Exchanges work (hint: it requires routing keys and
  all that jazz in order to function -- aieee..).
- Move all of the common bits over to pubsubcommon.py
Dump the arguments for the list_bindings call as I can never remember the exact list and rabbitmqctl does not print out the columns when it dumps out the info (*sigh*)