Bill 41: Handle synchronize webhook and add AMENDED bill status (PR #299)

Amendment to the Constitution

Submitted by: mfosterw

## Summary - Adds a new `AMENDED` bill status for bills invalidated by a PR code update - Adds `PullRequestHandler.synchronize()` to handle GitHub's `synchronize` webhook action (fired when new commits are pushed to an open PR) - When triggered, the handler updates the stored PR SHA and closes any open bill with `AMENDED` status; draft bills are not affected - Modifies `Bill.close()` to accept an optional `status` parameter (default `CLOSED`) enabling reuse for the amended case ## Test plan - [x] `TestBill::test_close_amended` — `bill.close(status=AMENDED)` sets status and disables submit task - [x] `TestPullRequestHandler::test_synchronize` — open bill is closed with AMENDED status and task disabled - [x] `TestPullRequestHandler::test_synchronize_no_open_bill` — gracefully returns `(pull_request, None)` when no open bill exists - [x] Full suite: 240/240 tests passing - [x] All pre-commit hooks passing 🤖 Generated with [Claude Code](https://claude.com/claude-code)

Diff: +92 -3