handle 0 in LIMIT clause

Giving `0` to `$opt->{limit}` and `SQL::Maker::Select#limit`, I expect SQL::Maker to generate `LIMIT 0` query.

```perl
my ($sql, @binds) = $builder->select('hoge', ['*'], +{}, {order_by => 'created_at', limit => 0})
# => 'SELECT * FROM "hoge" ORDER BY created_at'
```

I think this behavior (ignore 0 argument) have a risk to fetch all rows accidentally.