Fix bug in flat_map for enumerables that yield multiple values

There’s a small bug in the implementation of `Enumerable#flat_map` with enumerables that yield multiple values. The added spec fails before this patch is applied, returning `[1, 2]` instead of `[1]`. I believe this spec should also be added to the [RubySpec](https://github.com/rubyspec/rubyspec/) project. Should I submit a separate pull request for that or will it be added to RubySpec automatically?