Connection pools must propagate connection errors

It's really common and unfortunate to see connection pool classes that hide errors and make debugging connection problems much harder.

(In practice it'll usually be fine if you attach any recent error from any relevant _createConnection() call. It doesn't really have to be a specific one: most of the time when connection settings are misconfigured it'll result in every connection attempt having a more-or-less identical error anyway.)

It's very upsetting to have to patch your dependencies to add missing error logging in the middle of an outage.