handle early dates (< 100AD)

This fixes both dates early in the AD and BC dates.

AD dates do not work because Date.UTC thinks a year < 100 must be in the 1900s.

BC dates do not work because postgres handles BC not as negatives, but by suffixing BC and this isn't being checked.

You probably want to add some tests to this, but it doesn't look there are any around this bit of the code to begin with...

For what it's worth, it seems to work for me!