Refactor PeerManager and Connection

This moves PeerManager and Connection config to the instance, which we think is clearer and more friendly to use. Defaults are still taken from config file