added node/base_node.go, with peer.go and node.go derived from that; tests OK