Hash#{select,select!} support return Enumerator

This PR have two points.
* Support return Enumerator
* Fix yield value when called by Enumerator method (e.g. `with_index`)