Discovery domain aliases, keyless token fallback
Two coupled fixes to socrata_find_datasets and app-token handling.
Changed:
invalid_app_tokenerror contract removed from socrata_find_datasets, socrata_get_dataset, and socrata_query_dataset — unreachable after the keyless-degradation fix below. (#23)
Fixed:
- socrata_find_datasets scoped to a portal with a Discovery domain alias (data.seattle.gov -> cos-data.seattle.gov) now returns its datasets, via a comma-joined domains filter that always retains the caller's original domain. (#21)
- An invalid or revoked SOCRATA_APP_TOKEN degrades to keyless requests with a one-time warning and immediate retry, instead of failing every call. (#23)
163 tests pass; bun run devcheck clean.