Add ability to toggle fields in forms

This uses jQuery to make it possible to enable and disable fields in the
default forms, by specifying an attribute on the form class. The form
class still has to implement proper validators, so it does not rely on
client side validations.
Add checkbox for "is online" on events

This gets rid of the annoying requirement to specify things like
"online, United States" for events that are online.

This requires some SQL to run on existing installations:
ALTER TABLE events_event ADD COLUMN isonline boolean NOT NULL DEFAULT 'f';
ALTER TABLE events_event ALTER COLUMN isonline DROP DEFAULT;
ALTER TABLE events_event ALTER COLUMN country_id DROP NOT NULL;

Fixes #166
Actually implement a way to look at older events (events archive)

This also changes the main URL to look at events to be /about/events/
instead of /about/eventsarchive/, and reuses /about/eventsarchive/ to
be the actual achive. Also separates out the training archive to it's
own page at /about/eventsarchive/training/, for easier browsing.
Add a Language model to core

This lists all ISO-639-2 languages, and can be used in foreign keys
from other models.
Add language property to events

Enter the primary language for any event. In the future we will likely want
to filter events bsaed on this, but for now we just show it in the listing
and on the details page.

Requires SQL (after syncdb has run):
ALTER TABLE events_event ADD COLUMN language_id varchar(7) REFERENCES core_language(alpha3) DEFERRABLE INITIALLY DEFERRED;

Also requires loading of fixture:
./manage.py loaddata core/fixtures/language.yaml

Fixes #125
Events are upcoming, not current