Make skip() and limit() also accept closures

This pull request enables the use of closures as arguments to skip() and limit():

### skip
The following example returns [3, 4].

```php
Sequence::of([1, 2, 3, 4])->skip(function($e) { return $e < 3; });
```

### limit
The following example returns [1, 2]. The underlying iterator is stopped after 3 is returned.

```php
Sequence::of([1, 2, 3, 4])->limit(function($e) { return $e > 2; });
```

/cc @mikey179