`mail()` without arguments is a getter for the current mail.

This behavior is documented in our guides (http://edgeguides.rubyonrails.org/action_mailer_basics.html#action-mailer-callbacks)
but was broken in the past. This commit short curcuits
the `mail` method if:

  1. mail() was previously called
  2. no headers are passed
  3. no block is passed

Closes #13090.

/cc @pixeltrix
added missing require

we’re using .delegate and should require it.
Merge pull request #13134 from rubiii/patch-1

added missing require to active_support/tagged_logging