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.
Less verbose eunit output makes pass/fail easier to read
Add test coverage for sqerl_pgsql_client internal pqc_* functions
Ignore sqerl.plt generated file
Refactor pqc_fetch to use a PrepareFun fun

This makes the pqc functions agnostic to details of the driver (so
could be ported to mysql if we choose to keep mysql support). It also
allows the query cache functionality to be tested without mocks.
Cleanup return value for internal prepare_statement function

Return `{ok, #prepared_statement{}}` and simplify the fun interface
for pqc_fetch.
Merge branch 'sf/on-demand-prepare'