added outer_join Iterator
merge inner and outer join
remove inner_join to join
Move OrderedMapIterator into iter