Make TimeCop work with Date/DateTime even if Timecop was loaded first

This makes TimeCop load 'date' instead when it loads, so that it can patch Date and DateTime as expected.  Without this patch, you can get unexpected behavior in cases where Date or DateTime is used, but TimeCop was loaded before 'date'.  See my longwinded comment in #83.