Fix bug where exception is thrown if rule is null

I ran into this error when using the "Europe/Kaliningrad" timezone, though I don't see why. For timestamps before a certain date (somewhere around 1980), `getAbbreviation` throws an exception because it tries to access `rule[6]` when `rule` is `null`. You can confirm this by running the spec I added without the patch to `date.js`.

@longlho Let me know if this patch makes sense to you.