Initial tree splitting implementation.
Optimized implementations of head/tail/init/last.
Optimized implementation of internal node `valueCount`.

Using shift-right instead of division makes a measurable difference.
Minor refactorings.
Type alias for NodeBuilder. Assertions instead of illegal argument
exceptions.
Implemented take/drop/splitAt/takeRight/dropRight/takeWhile/dropWhile/span.
Companion object now implements standard Scala API.  The `+` operation
no longer overwrites existing value.
Implemented `iteratorFrom`.
Updated dependencies.
Implemented efficient version of `slice`.
Renamed `BTree` to `BTreeSet`.