Send out email only for cards that move into other lists

#### Some notes

I thought it was time to refactor a bit `CardsController`, since its responsibilities were about to grow (e.g. it would have known when to send out emails).

I clearly separated realtime from email sending, which should have nice side effects:

1. Group mail logic into one single class
2. Group realtime logic into one single class
3. Readability in the controller
4. Changing realtime logic, does not affect changing mail logic (and viceversa)

/cc: @exalted 
@as-cii let me try to explain myself a tad better: I was thinking, what if instead of being so specific, such as `CardMailNotifier`, something more generic, such as `MailSender` (that implements a `BaseSender` protocol.) Tomorrow (which is a strict violation to MVP, I confess) we could have a `PushSender` or `SMSSender`, etc.

Anyway, I am a bit confused whether this has to have the term `Card` in it or not. If yes, then probably I would call it `MailSenderForCardEvents` or something like that. :wink: