Add InMemoryCache using LRU to replace out of range/least used cache items

`SMWSql3SmwIds` handles cache limits and generates id's while using
"Random Replacement" as a method (which is less appropriate) to discard
cache items.