Enable filtering OSV results for malware (#18934)
## Summary
This is towards #18781 -- we now have a small `Filter` type, and we can
filter an OSV query to limit it to just malware results by passing
`Filter::Malware`. This has no performance cost versus normal queries
since with OSV's "batch query" API we can cheaply pre-filter IDs before
actually fetching the full OSV payloads.
## Test Plan
Added a unit test that exhibits the filtering.
---------
Signed-off-by: William Woodruff <william@astral.sh>