Properly implements SortedMap interface functions

Implements a private SubMap class to handle restrictions for submap
views from SortedMap methods subMap, headMap, and tailMap, and
implements other methods from BpTree again in SubMap as needed
to ensure proper functionality.