Prevent adding duplicate checkouts

!UGLY HACK!
Add names to login/logout URLs
Make is_pilot a property instead of a callable
Rename for consistency and allow generic **kwargs
Align with changes in util.py function signatures
Use is_pilot as a property, not a callable
Refactor queries, inheritance, and formatting

DRY: If util already defines the needed queries, just use those! The form views
now make use of TemplateView (it saves a small bit of code - yay!) and have
been cleaned up.
Use the patched user.full_name property