Add documentation for ice-udp and ice-tcp properties
Only enable ice-tcp for RFC and OC2007 compatibility modes
Add a bytestream-tcp property that is read-only for now
nice_tcp_bsd_socket_new: rename addr -> remote_addr
Set local address of TCP-BSD socket
Change argument names for tcp-bsd
Bind to a local random port for tcp-bsd
Call g_socket_check_connect_result before g_socket_is_connected

If we don't call check_connect_result on an outbound connection,
then is_connected will always return FALSE. That's why we check
both conditions to make sure g_socket_is_connected returns the
correct result, otherwise we end up closing valid connections
Add a nice_socket_can_send and nice_socket_set_writable_callback APIs
Signal reliable-transport-writable when ice-tcp socket is writable
Add TCP server reflexive candidates

For TCP server reflexive candidates, since STUN can't work on TCP
candidates, we will use STUN on UDP or TCP and once we get an
externally mapped address, we will create a server reflexive candidate
for all local TCP candidates that share the same base address, and use
the same mapped port as the base addresse's port.