fix pool hanging on close
The pool used to range on the chan to close any conns remaining in the pool, but this chan is never closed making it hang forever. This adds a second mutex and a boolean to protect the pools channel writes so any writes and closes can be done without panicking. Also fixes an issue in getClient where the result of <-p.conns was ignored making it dial a new conn every time.