BanCache: Don't repeat ourselves, one BanCacheManager::AddHit() and one BanCacheHit constructor is enough
BanCache: Do one hash lookup in BanCacheManager::AddHit()
BanCache: Remove BanCacheHit::IP field, and BanCacheManager::RemoveHit()

The IP field was only used in RemoveHit(), RemoveHit() was only called from GetHit()
BanCache: Simplify BanCacheManager::RemoveEntries()
BanCache: Remove BanCacheManager::RehashCache()

The function was never called
BanCache: Move expiration code into a function, call it from RemoveEntries()