Fix handling of syntax error in queries

The execute_prepared function in sqerl_pgsql_client was not returning
the State record in the final fun head catching unrecognized errors such
as bad queries (either bad syntax or no such table).

In addition, the parse_error function was not flexible enough to allow
these messages through.
Add sqerl_rec:qfetch/3 fetch by named query returning record

This new function provides a convenient interface for custom defined
prepared queries that return records with a corresponding module
implementing the sqerl_rec behavior.

The qfetch function also cleans up some repitition among the fetch
functions.

Also added ensure_error to cleanup error returns and make sure they
are always of the form {error, Why}.
Add documentation for sqerl_rec
Add generated (via `make doc`) docs for github viewing
Merge branch 'sf/qfetch'