Add automatic date resolution rebinning for year groupings
When a year-grouped property produces more than 100 distinct groupings,
automatically rebin to decades (÷10), centuries (÷100), or coarser by
multiplying the time span by 10 until the count fits.
YearGrouping gains a time_span parameter (default 1) that drives
bind_expression and heading display (e.g. '1950s' for decades).
YearGroupingConfiguration._rebin_if_needed() handles the rebinning
logic, summing counts and cells, and preserving UNKNOWN_VALUE entries.
YearGrouping.get_key() encodes time_span (e.g. '1930/10') so that
format_cell and the /queries endpoint produce correct drill-down
SPARQL with FLOOR(YEAR(?date) / 10) * 10.
Tests added to test_grouping.py (rebinning logic + full-path smoke test)
and test_line.py (heading and query filter for different time spans).
Bug: T236590