Refactor libcheri to more overtly object-oriented structure as we edge from
sandboxes towards object capabilities:

- Add a new type 'struct sandbox_class' that represents uninstantiated code.
  For now, this primarily consists of a file descriptor and statistics
  structures.

- Add a new type 'struct sandbox_object' that represents an instantiated
  instance of code and data.  Currently, this includes the memory mapping of
  code as our compiler does not yet support sufficient CHERI code
  generation.

- Reimplement 'struct sandbox' in terms of 'struct sandbox_class' and
  'struct sandbox_object'.  Mysteriously, this "just works".

- Fix several bugs in statistics keeping -- e.g., properly count invocations
  and faults when using the CHERI compiler vs. hand-crafted assembly.