Implements filtering connections

Add ability to accept / reject new nodes from joining based on node metadata which can be provided. New event 'node_accepted' or 'node_rejected' will be emitted on the new node, depending on if it passes the connection_filter.