Don't show errors for emails with no subject or a long body

The emails controller now uses a more model-y email object,
so it can show validation errors.

The 'body' column in the event emails table is now 'text'
instead of a string, so it won't barf on emails of > 255 chars.