updated agreement system

Ready to accept payment. Needs more validity testing but it's getting
there. User now has a modal that explains everything.