Make .find_each return an Enumerator if no block given

Previously, find_each required a block. This is in-congruent with other enumerable behavior, which can be chained.

By returning a potentially lazy enumerable, the benefit of memory management is maintained, but with the added benefit of chain-able operations.