Add client Sock Options configuration "sockopts"

Hello,
With the `gen_smtp_client`, you cannot currently customize the interface used to connect to the server. This use case is very important with SMTP, since the ip used to connect to the server will be used by SPF for instance.

This pull request allows you to customize socket configuration with the `sockopts` option, allowing you to customize the socket parameters, for instance in the previously example : 

```erlang
gen_smtp_client:send( {"whatever@example.com", ["andrew@hijacked.us"], SignedMailBody}, 
                                     [{relay,"xxxx"}, {sockopts,[{ifaddr,TheIpSourceYouWant}]}]).
```
Maybe `[binary, .... | AddSockOpts]` to avoid copying?