Refactored SplitBinding.
Use the standard Dispose pattern everywhere without trying to do any tricky optimizations.
Removed cluster from MonotonicBinding (the other bindings don't have a cluster either).
Added Ensure class and used it to strengthen error checking in constructors.