AMQP-377 Polishing; Fix Accounting

Add an integration test.

Fix a problem where too many consumers were started because the
`consumers` map still contained stale consumers that were in the
process of stopping.