Fixes issue #313, from an agent's feedback: its finished proposal could not leave draft.
PATCH …/proposals/{n} takes the page's transitions: state: "open" makes a draft ready, state: "draft" turns an open one back, and draft: false|true says the same in the words of creation (it used to be ignored with a 200). Both given and disagreeing: 400.
oh proposal ready N, and --undo to make it a draft again.
Tested in a_proposal_is_closed_and_reopened_through_the_api; fmt and clippy clean.
andymccall opened
andymccall set labels: bug, gap
andymccall set it to land when its checks pass
andymccall landed: when its checks passed (set by andymccall), with no approval
andymccall referenced by change acb8d109e981 on main