Add reply_to_event_id to events

Migration alone; code to use this coming shortly.
Support for reply-to in messages controller

* Allow reply_to_event_id parameter on /donations/:id/messages/new
* Reply to a private message only goes to the original sender
* Reply to student status update or thank-you only goes to the student

Also simplify the event recipient logic a bit by introducing a notion of
potential_recipients; this gets rid of default_recipient.

Also fix a bug in subhash and subhash_without; the code didn't play
nicely with HashWithIndifferentAccess.
Add reply-to params in event notification emails
Fix bug in message controller/form

Message sending would crash if there was no reply-to event
Fix some wonky stuff about replies

* Reply to user always says that, not “reply to user or other user”
* Default recipient on a reply is the original sender, even if it's
  possible to send a broadcast message
Use "or" instead of "and" on send message link too