Don't let gen_tcp:controlling_process/2 throw exceptions
The gen_tcp:controlling_process/2 and inet_sctp:connect/ functions
may (indirectly) call prim_inet:setopt/3. Up to Erlang/OTP R16x, errors
returned by those prim_inet:setopt/3 calls were ignored. Since 17.0, a
badmatch exception is generated if prim_inet:setopt/3 doesn't return ok.
This commit propagates the error to the caller, instead: