Added Soft caches
Added removeValue method
Added cleanup methods to soft caches
I confess, I feel a little stupid now.
Added cleanup task and handle method
Try to keep the cache clear as much as possible
Use a custom SoftReference implementation to speedup the cleanup, this costs the containsValue method.
Use ProtocolLib if the server is running Spigot