generalize YearQuery to NumericQuery
add tests for matching floating-point ranges