Better typecast on load references in pg_* extension RDoc

For pg_array and pg_hstore, in some cases you need to use the
regular typecast_on_load extension, since the jdbc/postgres
can return the values as Array or Hash instances instead of
Strings, and pg_typecast_on_load only works with strings.

For the other ones, just update the text to be consistent.
Add error_sql Database extension, allowing DatabaseError#sql to return SQL query that caused underlying exception

This is mostly helpful when the underlying database doesn't use
good error messages, but I suspect there could be other uses for
it.

Unfortunately, the implementation is pretty hacky, and there
are some corner cases.  This really can't be helped, as the
DatabaseError exceptions are not created until after the SQL
used is out of scope.