further updates to node structure - shared_from_this
make listener active (not pure abstract)
Further work on node, put all possible client type requests via listener to confirm they should be done, this
allows upper layers to implement logic and checks for these mutating actions.
Merge remote-tracking branch 'dirvine/routing_v2' into routing_v2