Move some tests out of the shared ones for the mailers

The shared examples in their previous form could not be used for
any other mailer, even though there may be other mailers that send
emails to multiple users. Also, the parametrization of the shared
examples makes it harder to follow the expectations of the tests.

Now, only the examples for the `#new_challenge` and `#new_task` methods
are shared. This will make the shared test usable for other mailers.
The other option is to make another mailer whose job is to retrieve
all users from the database and call another mailer, but the method
itself is small and making it more generic will be almost like
recreating the functionality of `User.where.each`.

The expectations in the separate mailer spec files are similar, but
for other similar mailers they may be different. For example an
announcement mailer would not contain the title of the announcement
in the body text (only in the subject) and would not use
`announcement_url(announcement)` to generate its URL.