Refactor log writer with interface and trait

This way we can allow developers to use their own logging classes and provide an easy way for them to use them with the mail component.
Suggest Guzzle for Mailgun and Mandrill mail drivers

Because Mailgun and Mandrill require Guzzle to work, we should suggest the package to developers so they are aware they need to install them.