Clear paginatable array if initialised with limit <= 0

Previously, if you do that, calls to`#per`, `#total_pages` and `#current_page` blowed up with:

```
ZeroDivisionError: divided by 0
```

I had such an error in the template of a legacy application, which initialised a fallback paginatable array with zero limit, offset, etc. The zero devision error got thrown out in the view and tracking it down was quite troublesome.

The current solution tries to emulate the databases, which returns a null set when `LIMIT 0` is given. This leads to some tricky semantics about how much pages should we have, etc, so I just return 1 in `#total_pages` and `#current_page`.

I'm also fine with raising an early exception while initialising the paginatable array.