OrderedHashInt/OrderedHash returning self for iteration functions

OrderedHashInt implementation of each/each_value/each_key returns a reference to the OrderedHash' instance variable @keys instead of self. It is controversial to the Ruby's native Hash interface and causes failures in a third party libraries.
Example of such behaviour is to feed OrderedHash (as returned to get_indexed_slices) to multi_column_to_hash!, multi_columns_to_hash!, multi_sub_columns_to_hash! function family. All of them would then return an instance of Array instead of OrderedHash.