Making progress on model recovery, handle null event handlers
Dead code
More tests, rework how TestConnectionRecovery#Wait works

AutoResetEvent is both more obvious for the task at hand and works
as described in the documentation, unlike using Monitor.PulseAll/Wait on
a plain object.
Test connection.blocked event handler recovery
Test connection.unblock event listener recovery
Record basic.return handlers
Recover basic.[n]ack handlers, callback exception handlers, channel state
Introduce RecordedEntity, RecordedNamedEntity, and RecordedExchange
Initial topology recovery bits: exchange recovery