Add hack to compensate for bad date/time handling

From the code:

    Using random data for dates and datetimes can produce exceptions. A proper
    solution is not known at this time, and it is hard to consistently produce
    this error. In the meantime, a simple hack is used: set the lower and upper
    bound for dates to year 1900 and 2100, respectively. This is not as ideal as
    using a value like date.min.year, but it should provide a good enough range
    of test values while still avoiding random exceptions.