epgsql can return errors of the form {error, atom()}

In epgsql, the auth method can return a bunch of different {error,
atom()} tuples, including {error, timeout}.  We weren't handling those,
causing 500s due to a no function clause error being thrown

this handles the case of passing through {error, atom()} in
sqerl:parse_error()
Add timeout test for select/2 to check parse_error
Merge branch 'jc/OC-10748/handle-atom-errors'