add foreach to iterable
separate hashmap into es6basemap so that WeakHashMap can be implemented similarlly to HashMap without reuse
separate treenode into separate file
remove redblacktree code that is not necessary