Added support to treat ACL2 hard errors as Lisp errors.  No longer store no-op encapsulate events.

Quoting :doc note-7-0:

  (For those who program in raw Lisp) A new Lisp variable,
  *hard-error-is-error*, has a default of nil that preserves existing
  behavior; but it can be set to a non-nil value in order to cause
  so-called ACL2 ``hard errors'' to result in Lisp errors whose
  condition, when printed with format directive ~a, is the same error
  message that ACL2 would otherwise print. See [hard-error]. Thanks
  to Jared Davis for requesting this feature.

  When a call of [encapsulate] with empty [signature] introduces no
  [events], it now has no effect on the ACL2 logical [world].
  Formerly, such an [encapsulate] form an would create an event even
  in this case. For example, the form (encapsulate nil (local (defun
  f (x) x))) formerly created an event in the world, as well as a
  [command] when executed at the top-level; but now it is truly a
  no-op. See [encapsulate]. Note: An idiom sometimes used for testing
  is (encapsulate () (local ...) (local ...) ...), that is, a trivial
  encapsulate where each sub-event is [local]. With this change, that
  idiom is now properly supported. (Formerly, the second such
  encapsulate was considered redundant with the first; but that is no
  longer the case, since the first will not be stored in the
  [world].)

For the second of the two items above, I commented out event --
loghead-theorem, in files books/workshops/2006/greve/nary/example.lisp
and books/coi/nary/example.lisp, and loghead-mod-theorem in
books/coi/nary/example.lisp -- that ACL2 couldn't prove before, except
that it hadn't tried (because of an encapsulate that was redundant
previously but is no longer redundant).

Eliminated wrappers our-hash-table-rehash-size and
our-hash-table-rehash-threshold, now that GCL is restricted to 2.6.12
and later, since hash-table-rehash-size and
hash-table-rehash-threshold are defined in GCL 2.6.12 ANSI.