Rewrote connection monitoring, with unit tests

@kitcambridge please review! I suspect there's an elegant possible implementation hidden under this ugly working implementation, but I haven't got the brain left to find it right now.

Travis is failing to run even a single test; not sure why yet. You are mostly interested in these tests: `mocha -R spec test/lifespan.js`. Look at `Pool.monitorConnections()` for the implementation.