Condense event views into one

In order to handle each endpoint separately, two view functions are
needed to render the two different versions of the event recipients.
There's no reason the functionality needs to be distributed across two
separate functions, though.

In addition to condensing the logic into one function, the queries are
being (visually) simplified to use `filter_by` instead of `filter` when
possible.
Alphabetize recipients

When displaying a list of recipients, show the names alphabetically.
There is probably a way to get this to work inside of SQLAlchemy, but
given the number of potential recipients, a code-based sort is efficient
enough for now.