refactor(pool): emit a signal for state changes
refactor(pool): emit a signal for state changes

This is a low-impact change that allows us to potentially make far
more accurate assessments of when certain events have completed in
the pool. This also allows us to reduce the chances of flakey pool
tests

mongodb/node-mongodb-native,mongodb/node-mongodb-native,mongodb/node-mongodb-native,mongodb/node-mongodb-native