Add DialWithDialFunc to specify dial function used for both control and data connections
If used DialWithNetConn, DialWithNetConn takes precedence for
the control connection, while data connections will be established
using function specified with the DialWithDialFunc option