Allow mail settings changes to apply without server restart

mail settings need a server restart to be applied (it's an offender of #3833).

This creates a new mail delivery_method (`Spree::Core::MailMethod`) which checks spree's settings for each delivery. This also opens up the possibility to configure spree to use different underlying methods (like sendmail) in the future.