Make default update return updated record

The default update query is now an UPDATE ... RETURNING and returns the
updated record. This is useful to avoid a round trip when the db updates
some fields on UPDATE such as time stamps or sequences.

As part of this change, the qfetch function is enhanced as follows:

* handle RETURNING queries
* nice error message for query returning only count
* query name can be atom_list() (spec fix)

New function cquery is introduced for handling queries returning only a
count.

The delete function now uses cquery. Its return value changed
from ok to {ok, Count}.