Add blocklist support

This PR adds support for blocklists which allows rejecting peers based on a set of predefined IP address ranges. The blocklist format that is expected is an array of objects, each with a `startAddress` and `endAddress` and optionally a `reason`.