Add TOS and "I am over 13 years old" fields to registration form

The TOS checkbox is a required field.

The "I am over 13 years old" checkbox value is recorded in the user
table.

Fixes #166
Add registration UI tests

This adds coverage for TOS and password validation and makes sure the
user is_minor flag is correct based on input from the registration form.
Style user settings page
Secure group edit with new decorators

This is a large refactor that allows for chainable decorators that
decorate the ``request`` with a group object and enforce editability
constraints base on the logged in user.

The ``group_request`` decorator takes it's cues from the auth context
processor. Views wrapped with this decorator will have a
``request.group`` in addition to ``request.user``. This makes for easier
composability of decorators and has the side effect of ensuring that the
group is only queried once.

I renamed the existing decorators to make them more forceful. For
example ``is_census_admin`` is now ``user_must_be_census_admin`` which
is more suggestive of the fact that a view wrapped with this decorator
will return 403 Forbidden if the ``request.user`` is not an admin.

While working on the decorators, I also clarified the two different
types of training, which grant different levels of page access.
Add styling
Merge pull request #188 from azavea/feature/style-events

Add styling
Merge pull request #186 from azavea/feature/jcw/secure-group-pages

Secure group edit with new decorators
Merge
Merge branch 'feature/style-user-settings' into develop
Merge branch 'develop' of github.com:azavea/nyc-trees into develop
Merge pull request #178 from kdeloach/topic/registration-fields

Add TOS and "I am over 13 years old" fields to registration form
Add sliding menu
Make profile markup assertions more explicit

After adding the slide-in side menu it became harder to test for the
presence of the words "Groups" and "Achievements" based on privacy
settings. Adding explicit markup to the assertions makes them more
brittle, but the disambiguation is necessary.
Merge pull request #194 from azavea/feature/style-menu-slide

Feature/style menu slide
wip