Use IPPROTO_TCP instead of SOL_TCP for cross-platform compatibility.

According to the Linux `tcp(7)` [man page](http://linux.die.net/man/7/tcp), the `IPPROTO_TCP` constant should be passed as the *level* value when calling `setsockopt` to set an option value on a TCP socket (see the "Socket Options" section).

This compiles on Linux and should work (since that's what the manual specifies), though I don't know of a way to test this.

These fixes remove the need for a BSD-specific patch to this file -- BSD does not define the SOL_TCP constant, so compiling Mono currently requires a patch to replace the uses of SOL_TCP with IPPROTO_TCP.