Fix duplication of queries in sqerl_rec

* The default query definition contained a bug in which the
  fetch_by_FirstField query was specified twice.

* Default and custom query merging was broken. First, the merge was
  happening before the query names were normalized via
  join_atoms. Secondly, keymerge was being used instead of ukeymerge and
  thus duplicates were being kept (though the order was such that the
  desired behavior was achieved in terms of custom queries overriding
  defaults).

This patch also adds more detail to sqerl_rec error messages.

When qfetch doesn't get data, but gets a count, include the count in the
error tuple. Organize the error so that it is a bit easier to match on
if desired. Similarly, for the scalar_fetch error.
This is re-work of the previous commit (064898ceee)

* Re-works to maintain complete (we think) backwards compatibility
* Moves functionality into the scope of only sqerl_rec