Alternate Retry Transport

Relating to #12 - this approach parameterizes the customization and offers a DefaultRetryer with some sane defaults.

Full tests need to be worked through.
Thats not exactly the behavior we need. We actually want to perform only as many attempts as needed, so only retry when one retrier indicates it's necessary (on the other we also need to hold back from retrying if the "forbidding" retriers like max or timeout say No. Thats why we need a tristate decision moment. Check https://github.com/streadway/handy/pull/14)