Implement OpenID, and require it for the /submit endpoint

This closes #53 and #54.