* added basic structure for direct peers
* added direct connect heartbeat
* added logic to reject GRAFT from direct peers
* added invocation of direct_connect_heartbeat
* updated _get_peers_to_send to include direct peers
* fixed failing gossipsub core and demo tests
* fixed failing test_examples.py
* add tests for peer management
* fix lint
* update tests
* fixed direct_peers type and peer_records test
* fixed failing gossipsub direct peers test
* added reject graft test
* updated reconnection test
* added newsfragment
* improved reject graft test
* updated default value for direct peers
* renamed direct_connect_init_delay parameter
* reverted back to direct_connect_initial_delay param name
---------
Co-authored-by: Khwahish Patel <khwahish.p1@ahduni.edu.in>