Add CSRF protection for AJAX calls

Without this setup, $.ajax POSTs and DELETEs fail.
Adjust profile page per spec revisions
Emails tab: opt out of e-mails for specific events
Privacy tab: "public/private" instead of "lock/unlock"

Also, only show icon when private.
Add link for forgotten username
Merge pull request #173 from maurizi/forgot-login-link

Add link for forgotten username
Register and cancel from event page via AJAX

I extracted the RSVP markup into a partial so it can be rendered and
returned as the response from the register and unregister views.

The workflow for making an AJAX request and replacing content with the
response was not specific to event registration, so I implemented a
reusable fetchAndReplace function.
Merge pull request #162 from azavea/feature/jcw/rsvp-from-event-detail

RSVP from event detail page
Add "Optional Information" form for post-registration activation

There is no server-side behavior for now. We will update this to
dynamically generate the groups dropdown (and possibly the entire form)
in a future sprint.

Refs #57
Merge pull request #172 from kdeloach/topic/optional-info-form

Add "Optional Information" form for post-registration activation
Merge pull request #156 from RickMohr/profile-page-revisions

Profile page revisions
Add skeleton group listing page
Merge pull request #179 from kdeloach/topic/group-list

Add skeleton group listing page