(PE-1258) Refactored blacklist code into class

This commit extracts the blacklist code from config into its own dedicated class.
This was done to make it easier to benchmark test the performance impact of blacklist filtering,
but it's a worthwhile refactor in general.