!act #15626 expose DatagramChannel creation in SocketOption

Fixes #15626
Hmm, thinking some more: why not make a separate `trait ChannelCreator` with a method `openDatagramChannel` (and possibly others in the future) and then filter on this trait instead of flatMapping a collection of Options? This would keep the Java/Scala ugliness out of this code and everybody could just write their SocketOptions in any way they fancy.