- HashMap removed. Most functional moved to WeakMap

- HashStore removed.
* Map size another calculating way
* WeakMap allows user to choice way of Value lifetime managment
* allowNonExtensibleObjects removed. This feature now enabled by default
* ArrayMap instead of HashStore
* ArrayMap support defaultValue in get
* hash system redefinition: better check instead of hasOwnProperty(hashProperty), hashObject contains plain hash and values provided by WeakMap
+ new tests