Release PGresult when an exception is thrown

Fix involves:
* Call PQclear in throw_postgresql_soci_error
* Change throw_postgresql_soci_error to take pointer by reference to
effectively reset result
* PostgreSQL tests pass
* Close #86
Rename res to result for consistency.

(std::unique_ptr would be bless for correct and simple RAII across SOCI)