Add the ability for new events to be submitted via the API

This enables API consumers to submit events. Users must be logged in and
they are automatically marked as event hosts and as attendees.