TcpConnection: abstract PendingWrite logic to make room for other types of writing
Tcp: abstract writing into WriteCommand to make place for other kinds of writing
Tcp: introduce WriteFile to support zero-copy writing of files (using FileChannel.transferTo), fixes #2896
Don't send Remove command to unreachable, see #3209
Tcp: cosmetic changes and more checks

 * whitespace
 * Write.Empty => Write.empty
 * check requirements
 * better 0-checks
Protobuf serialization of cluster messages. See #1910
Merge pull request #1298 from akka/wip-1910-create-protobuf-messages-for-cluster-messages-ban

Protobuf serialization of cluster messages. #1910
 #3204 - Adding keypass to SSL configuration
Merge pull request #1324 from akka/wip-3209-remove-unreachable-patriknw

Don't send Remove command to unreachable, see #3209
Merge pull request #1331 from akka/wip-3204-add-keypass-to-ssl-config-√

 #3204 - Adding keypass to SSL configuration
Merge pull request #1328 from spray/master

Tone down error logging by explicitly handling handler termination in TcpConnection
The test implicitly relied on a loss of a message
always clear ActorCell.sysmsgStash, see #3231

This was not prompted by a concrete failure, just an odd feeling that
proper cleanup might be beneficial even if I currently cannot construct
a case where we would leak something.
Distributed pub-sub in cluster, see #3203
Cluster client and receptionist, see #1165
Merge pull request #1307 from akka/wip-3203-distributed-pub-sub-patriknw

Distributed pub-sub in cluster, see #3203
include bound localAddress in Bound message, see #3230

- done for Tcp & Udp in the same way
- also try to fix TcpConnectionSpec on my Mac
Merge pull request #1333 from akka/wip-3230-bound-addr-∂π

include bound localAddress in Bound message, see #3230
Merge pull request #1334 from akka/wip-3231-clear-sysmsgStash-∂π

always clear ActorCell.sysmsgStash, see #3231
TcpConnection: add `file-io-transferTo-limit` config parameter