correct argument name in `uniqueValues` method on PathIndex class
convert DateRangeIndex/UUIDIndex uniqueValues methods into generators
shorten DateRangeIndex.uniqueValues method code
clarify `IUniqueValueIndex.uniqueValues` method to allow generators/iterators

the PathIndex has returned a generator for some time
don't assume `uniqueValues` directly returns a tuple/list
convert `UnIndex.uniqueValues` to a generator
cast `index.uniqueValues` to a tuple for more public `uniqueValuesFor` method
add tests for `CatalogPlan.valueindexes` method
Avoid potentially expensive `len()` call in value index estimation.

Instead iterate over unique values and break if we can get more than
`MAX_DISTINCT_VALUES` values. Also correctly identify empty indexes like the
DateRangeIndex, which only returns values when the name argument is provided
to the uniqueValues method with either the `since` or `until` field.
document recent uniqueValues related changes