fix slice_before on empty enumerable

This fixes an issue where calling slice_before on an empty enumerable
would return an enumerable containing one element of nil

```rb
#before
[].slice_before(1).to_a #=> [nil]
#after
[].slice_before(1).to_a #=> []
```

Would you also like a test added to rubyspec around this?