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 Mandrill and Mailgun mail drivers

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.