MDL-48196 phpunit: Set e-mail address for admin user at installation
MDL-48197 testing: Always set up a mail sink for mail redirection

Rather than setting noemailever in the bootstrap, this sets up a default
phpmailer message sink which will catch all messages.

Tests which require the phpmailer sink will continue to work as before
without change, though the noemailever config setting no longer needs to
be altered.

For tests wanting to test with noemailever set with the previous behaviour,
they will need to load the message sink and then close it.
MDL-48197 testing: Normalise uses of noemailever and phpmailer sink
MDL-48157 testing: Messagesink should utilise the full message stack

The Unit Test framework should cater to catching both messages, and mails
in sinks simultaneously, but at present, if the message sink is enabled,
then the mail sink is skipped.

This was caused by a shortcut placed into the message handling code which
skipped all of the message processing and placed the message straight into
the message_read table without subsequent processing taking place.

Fixing this issue revealed a number of underlying issues in some unit
tests.
MDL-48150 mod_forum: Generate message inbound keys for all posts

This code was previously misplaced so that only posts in discussion which
had not yet been processed in the current cron run would have keys
generated. If two posts were generated in the same discussion and sent out
on the same cron cycle, only the first post to be processed would have a
key generated.