Some changes have been made to the OpenCM schema since the one
reported in the USENIX and USENIX Security conferences:

1. EntityBits objects have been replaced by Buffer objects. Buffers
   are essentially similar to EntityBits, but also serve as
   underpinnings for the SDR_stream subsystem. Using a shared
   buffering abstraction reduces a lot of garbage collection pressure
   and unnecessary copying.

2. Entities are no longer stored as separate objects. They are now
   recorded "inline" in their containing configurations. We concluded
   that storing them out of line was not well motivated in our
   original design.

   The purposes of "out of line" storage was to facilitate per-file
   history backwalk. It proves that the cost of fetching hundreds of
   objects per commit/merge/update is quite high, and the per-file
   backwalk can be done just as well using the current structure. In
   the current implementation, Entity objects are stored inline and
   use a (change, entity) truename pair for their predecessors,
   allowing efficient backwalk.

   Note that per-file history back-walk is the less frequent case. The
   net improvement in the web browser interface from making this
   change was something like a 2000x improvement in performance.
