exponential backoff for failed messages

exponential backoff retry for failed messages
default settings = no retry delay - i.e., preserve legacy behavior
mvn deploy publishes artifacts to HBO archiva repository (http://maven.hurley.hbo.com:8000/repository/internal/ and http://maven.hurley.hbo.com:8000/repository/snapshots/)

See the following for an example how to use these changes:  https://github.com/HBOCodeLabs/Hurley-Cyclone/pull/207

since we're operating in milliseconds, I heard just using system.currentTimeMillis() have slightly better perf?  Date's constructor calls that anyway.  So we don't need to create a Date object.