Adds opt-in field.

# Changes
 - Adds opt-in checkbox for transactional email.
 - Adds nicer checkbox styling, courtesy of [WTF, Forms](http://wtfforms.com).
 - Adjusts drawer close button to avoid layout issues on tablet and mobile.
 - Some refactoring in the sessions controller.

For review: @angaither 
why remove passing this, if you just have to call `Input::all()` again?