This fixes https://github.com/prometheus/alertmanager/issues/21
Otherwise, sending an alert with a missing `GeneratorURL` payload
property would cause the template rendering to crash:
Error executing template: template: alerts.html:51:76: executing "content" at <.Alert.Payload.Gener...>: invalid value; expected string
This adds mandatory Summary and Description fields to Event.
As for the alert name, there were two options: keep it a separate field and
treat it separately everywhere (including in silence Filter matching), or
make it a required field in the event's labels. The latter was causing far
less trouble, so I went with that. The alertname label still doesn't have
a special meaning to most parts of the code, except that the API checks its
presence and the web UI displays it differently.