Support uTP Connections

Will attempt a uTP connection and then fallback to a normal connection if it seems like the peer doesn't support it or the connection times out.
this means `this.utp` is always thruthy