[bplustree] New Feature: Special version of B+Trees to hold domain objects.

  * The serialization of the backing maps is done via JSON objects, avoiding
    serialization of byte[]. This shows greater performance as well as allowing
    the trees to be portable across backends and Framework versions
  * The new tree shares the code base with the regular tree, differing only in
    the serialization.
[consistency-predicates] DomainMetaClass now uses a DomainBPlusTree to hold its MetaObjects
[bplustree] Extracted InnerNode's constructors to init methods

  * This allows the constructor's code to be reused in subclasses
  * Also extracted LastKey representation to its toString()
[bplustree] Improved JavaDoc and error messages for DomainBPlusTree
[bplustree] Renamed DomainInnerNode's indexedSubNodes to subNodesByOid
Merge pull request #139 from jcarvalho/feature/btree-serialization

Specialized B+Tree for DomainObjects