Added initial version of LookUpCache
Split some classes out of Ref.scala into separate files
Added hashCode and optional clazz specifier to PermOnIdRef
Removed non-overridden getId from RefById
LookUpCache will find assignable references (i.e., will find subclasses in the cache)