[#3437860] Make FloodUnblockManager generic
Add patch and changes as commits from batigolix.
Tests may need to be expanded to ensure functionality remains the same after it has been split into FloodUnblockManagerBase, FloodUnblockManagerDatabase implements FloodUnblockManagerInterface. Newly added functionality will need to be added to tests.