Throw an error if -1 is used

If a cron syntax contains -1, expression will be parsed and `next()` will enter into an infinite loop. This pull-request fix this issue.

It also fixes the last test that fails when it runs on a different timezone.