Added separate before/after consumer recovery events
Improved javadocs
Add runtime shutdown hook for recovery threadpool
Event listeners should check for empty before delegating to parent
Assign new delegate after channel recovery prior to recovering consumers