Homestyx hydra

R1:1485debcbda2

Prepare mail transmission to support failover across multiple mailers

Summary:
Ref T13053. Ref T12677. This restructures the calls and error handling logic so that we can pass in a list of multiple mailers and get retry logic.

This doesn't actually ever use multiple mailers yet, and shouldn't change any behavior. I'll add multiple-mailer coverage a little further in, since there's currently no way to effectively test which of several mailers ended up transmitting a message.

Test Plan:
- This has test…
Repository: R1 hydra
Commit Date: Feb 8 2018