Prepare queries on-demand instead of at client start

Instead of preparing all configured queries on the connection at
start-up (which can take some time), prepare the queries on the
connection on-demand during the first call to execute for that query.

This should reduce the startup time for client connections and improve
error recovery scenarios.
Remove unreachable code resulting from pooler upgrade

Latest pooler represents each pool as its own gen_server. There is no
missing pool return value, but rather an error for no proc if you try
to talk to a pool that doesn't exist.