Make DateTime and Date more friendly to subclassing

jepeway++