Make skip() and limit() also accept closures

This pull request enables the use of closures as arguments to skip() and limit():

```php
// Returns [3, 4]
Sequence::of([1, 2, 3, 4])->skip(function($e) { return $e < 3; });
```

```php
// Returns [1, 2], iterator is stopped after 3 is returned
Sequence::of([1, 2, 3, 4])->limit(function($e) { return $e > 2; });
```