* InboundQuarantineCheck stage sends back Quarantined control
message if sender system is quarantined
* Ported old RemoteRestartedQuarantinedSpec
* outbound quarantine check and piercing with ActorSelectionMessage
* port of old RemoteQuarantinePiercingSpec and PiercingShouldKeepQuarantineSpec
* quarantine if sys msg buffer overflow
* handle UID incarnations, shared association state that can be swapped
for new handshakes
* detect that message comes from unknown origin and then initiate new
handshake (handled by InboundHandshake stage)
* simplify the OutboundHandshake stage
* doesn't have to listen for HandshakeRsp replies, it can just listen
to when the uniqueRemoteAddress future is completed, InboundHandshake
stage completes the handshake when it receives HandshakeRsp
* send the HandshakeReq via the control message ingress, instead of
pushing it downstreams, than also means that HandshakeReq is only sent
on the control stream, which is good
* materialization race condition
* instead of sending the the control messages (e.g. handshake reply,
sys msg ack) via the normal message send ingress point they are
now injected via side channel and will therefore not go through
higher level stages such as handshake and system message delivery
* UID exchange with handshake stages
* second iteration of reply side-channel, observable
* InboundContext and OutboundContext to facilitate testing
without real transport
* collapse ArterySubsystem and Transport into ArteryTransport
* incomplete HandshakeRestartReceiverSpec (origin address missing
to be able to implement that part
* remove embedded aeron media driver directory on shutdown