Merge Mike Roe's CHERI binutils updates for CHERI ISAv3 from the binutils
branch to CheriBSD:

  commit 41d85f434a12617cb9e2adb7c6710e0e0baa3277
  Author: Michael Roe <mroe@cornstalk.org.uk>
  Date:   Tue Sep 9 17:55:13 2014 +0100

      Changed syntax of cjr for new CHERI ISA.

  commit f4fe1e493c04067317bbef48b2d6f9dce3e83788
  Author: Michael Roe <mroe@cornstalk.org.uk>
  Date:   Tue Sep 9 17:15:05 2014 +0100

      New version of the CHERI ISA: Added the new CSeal instruction, changed the
      syntax of CJALR.

  commit 87a3524ea48a47f21cd456e50e8a26249ee7c74d
  Author: Michael Roe <mroe@cornstalk.org.uk>
  Date:   Fri Sep 5 18:04:52 2014 +0100

      Added assembler support for new CHERI instructions (capability compare) and
      changed the syntax of CGetPCC.

  commit 942f20966c631f1e1b3d1db6f20c946939630e90
  Author: Michael Roe <mroe@cornstalk.org.uk>
  Date:   Wed Aug 20 13:15:59 2014 +0100

      Added support for the cgetoffset and csetoffset instructions.
Update the CheriBSD kernel for CHERI ISAv3:

- Rename permissions and exceptions from 'ephemeral' and 'non-ephemeral'
  to 'local' and 'global'.

- Add macros CHERI_CGETOFFSET(), CHERI_CSETOFFSET(), CHERI_SEAL(), and
  garbage collect CHERI_SEALCODE() and CHERI_SEALDATA().

- Define and use default capability-offset values of 0 for kernel and
  user capabilities.  Update cheri_capability_set() to take an offset
  argument, and callers to pass it.

- Update CCall, CReturn, CHERI stack unwind, and corresponding debugger
  code to store the saved PC in PCC.offset rather than a separate frame.
  Use CSetOffset rather than CSetType on KDC to authorise unsealing;
  this is quite a bit less elegant than CSetType and might want to be
  revisited.

- Update throughout the kernel for CGetSealed instead of CGetUnsealed;
  debugging output now displays 's:%d' rather than 'u:%d'.

- Update CHERI builtins; for now, we have to work around a lack of a
  CHERI Clang/LLVM builtin for CGetSealed by using CGetUnsealed, which
  has identical encoding -- this is largely a cosmetic bug.

- For now, we don't properly initialise the object type on initial
  capabilities in user thread contexts due to the awkwardness of using
  CSetOffset instead of CSetType; we may want to rethink some ISA
  choices here.

This boots but has not been extensively tested.
Make the CHERI-compositor driver compile with CHERI ISAv3; unfortunately,
it is unlikely to work as some of the things it does will now need to be
done differently.
Update libcheri and cheritest for CHERI ISAv3 -- primarily, updates for
the new type/seal mechanism, offsets, and unsealed -> sealed.  This is
not yet tested; the semantics are effectively identical but there may
be nits in the implementation.  In most cases, the new type mechanism
is substantially cleaner.