Replaced Mono SslClientStream with .NET SslStream

This fix is to replace Mono's SslClientStream with .NET's SslStream.
This is to fix an issue when trying to connect to a PostgreSQL database
configured to accept only valid client certificates. In order to remain
backwards compatible, the original Mono-based callbacks have been marked
obsolete. If the "ValidateRemoteCertificateCallback" method is provided,
it is automatically used in favour the obsolete methods.