add PoolConnection which inherits from Connection

When I was working on #537 I did find `lib/Pool.js` messy. Here is my attempt to try cleaning that up a little bit.