improve memoize with size limit

- previous implementation was dropping complete
  hash-table whenever max size was reached

- new implementation simply replaces old values
  in a fixed size hash-table when hashes collide

- use cuckoo hashing for better space usage and to
  reduce collisions of frequently used values
>Would be interesting to introduce it as hashOf in object.di.

Ok, I'll create PR which introduces object.hashOf

>Also it would be a bad choice to use TypeInfo based hashing for one overload of memoize and hashOf for the other.

As I see, this file contains only one getHash call.