Rewrite chore action and action reversion code.

Use constructors to factor out common code used to change Signatures on
chores. Introduce ChoreError, a new Exception, and use it in rejecting
bad HTTP requests with an error message.
Add Python .gitignore and remove outdated code.