Rework Connection and InteractionClient handling
This commit reworks the way how we establish and reconnect a connection to a node. it also makes sure to only have one InteractionCLient instance which is shared (because it makes no sense to have different ones for now). Also Special reconnection with rediscovery is using deferred promisses to prevent concurrent actions.