Fixed a bug in LRUcache which prevented sizes >= 8.
Some changes in the interest of speedups.
Two performance optimizations

1) Split out wildApprox into separate function
2) Be more careful not to follow static prefix chains where not needed
Streamlined treatment of ThisType in subtype checks.
Avoid forming And/Or types with equal operands.

This can happen in particular in derivedAnd/Or type, when applying a substitution or other mapping which identifies two types that were different before.