CBD-65: Public API for splitting nodes

There's no a public API for splitting a list of nodes into
two partitions. This is used when a node overflows, which
happens when an already full nodes gets another one added.

The RR*-tree makes a distinction between inner and leaf nodes
when splitting.

Change-Id: Iec5d182ce6c76efc492c0632980c5086c09d1437
Reviewed-on: http://review.couchbase.org/21020
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Filipe David Borba Manana <fdmanana@gmail.com>
Reviewed-by: Volker Mische <volker.mische@gmail.com>
CBD-65: Be more precise about types

FillMin and FillMax are always positive integers, take this into
account.

Change-Id: Iaa63e0cbbb1fce2821301dc6831065e0f5cbb12e
Reviewed-on: http://review.couchbase.org/21021
Tested-by: buildbot <build@couchbase.com>
Reviewed-by: Filipe David Borba Manana <fdmanana@gmail.com>
Reviewed-by: Volker Mische <volker.mische@gmail.com>