connection.* methods should not ignore AlreadyClosedException

The change got lost earlier during branch re-creation.
Backed out changeset 39d010399f9d

When network connection fails right before a connection negotiation/tuning
frame is sent, we want OperationInterruptedException to be thrown and not
AlreadyClosedException.

SessionBase#Transmit will throw the latter,
if we handle it, method continuation will eventually throw an OIE.
Replace confusing comments
Make it possible to provide a custom remote cert validator and local cert selector

Manually integrates https://github.com/rabbitmq/rabbitmq-dotnet-client/pull/12
Ignore NotSupportedException thrown by BufferedStream writes

The issue seems to be an unfortunate buffered stream behaviour
aspect when there's data to read and a write is attempted.

Since this exception is very confusing and our intent is to shut
down anyway, we ignore it.
Make Subscription#Next return null/false when underlying channel is closed
Add test file missing from the previous commit
Initial test for EventingBasicConsumer
More tests for EventingConsumer
Merge bug25895 into default
Merge bug25911 into default
Merge bug25046 into stable
Merge bug26071
Consume with manual ack mode as in the reporter's example
Merge bug26079 into default
merge stable into default
Add Model to ConsumerEventArgs and BasicDeliverEventArgs, both very closely related to EventingBasicConsumer
Backed out changeset b586ce65fd24

Model should be accessible via event sender. This lets us
avoid adding Model to every event type we have.
Assert on sender.Model
Merge bug25082 into default