Breaking Changes:
- the within function is now required for user intervals.
- insert_overlaps third parameter is now true by default.
- Rewrote punch, which now works differently depending on the interval types. It now also works for all passed intervals, not just intervals that are larger than the entire span of the tree.
Changes:
- Changed third parameter of insert_overlap to "recursive" for all kinds of intervals. This will merge insert until there is no longer an overlap.
- Made some robustness changes for unsigned int intervals.