- move to transducer for walking the tagged range boundary items
- remove use of core.match, after getting logic correct to reduce
loading of unneeded library
- added docstrings to function
- added type hints and removed reflection warnings
add lower level logic for walking the boundary markers of sets
but distinguish between a source range and a filter range when
looking at the start and end boundary behavior
ranges have previously been consolidated by having overlapping ranges be
combined, resuting in a (possibly) consolidated set of ranges, which
are now ordered by start and end dates.
Add a transducer step to walk those ranges and find any pairs of ranges
where the pair of ranges abutt each other, and combine them into
a single range.
transduce over the ordered range values starts and ends and do the
stack push/pop matching over the start and end values to consolidate
the overlapping ranges and result in a new set of consolidated and
sorted range values.