Unit Tests / test (push) Successful in 5s
## Summary Closes #30. - Green check (“Paid this year”) on membership list, person list, and person inline when `Payments.email` matches `MembershipPerson.email` (case-insensitive) for the current calendar year. Also matches via the payment’s person FK. - CSV downloads for payments, memberships by person, and memberships by address prompt for a year (default current year, or All years). Payments filter by payment date; memberships filter by record created year. Changelists also get a year sidebar filter. - Payments admin remains searchable by email. ## Test plan - [ ] `uv run python manage.py test` - [ ] In admin, open Memberships / Membership people and confirm a green check when a same-year payment email matches, and a red X otherwise - [ ] Select memberships → Download CSV by member/address → pick a year → confirm only that year is in the file - [ ] Select payments → Download payments CSV → pick a year → confirm filter - [ ] On Payments, search by email and filter by year Reviewed-on: #31