Add Agreement model for uploading agreement PDFs and view for signing.

Instead of relying on a page being in the content tree, now the 
agreement page is a view built-in to the app.
Add download button for agreement.
Store agreement version as ForeignKey instead of string.
Fix tests.