Warnings are errors on clang

We were setting -Wall -Werror when compiling with GCC to make sure that
we get rid of all compiler warnings as part of the standard build/test
process.  Now we do that for clang, too, for when we're developing on
Mac OS X.
Merge remote-tracking branch 'template/c-template' into develop

* template/c-template:
  Warnings are errors on clang
Build check if necessary

RHEL5 provides an older version of check than we need.  We have a git
clone of the latest check, which includes a Buzzy package description,
so that we can satisfy the dependency with a built package on RHEL5.
Simpler libcork error API

The libcork error API now only has (hash-based) error codes, rather than
separate error classes/codes.
Opaque hash tables

The libcork hash table type is now completely opaque; we can't embed it
in our own types anymore.