Perform the initialization of these categories in +load, not
+initialize.

Overriding +initialize in a category is a route to misery.
Added userShortYearlessDateString.
Cache the value of year2038 -- it's never going to change.

Cache the value of startOfToday, startOfYesterday, and startOfDayBefore.
Use these in isToday, isYesterday, and isDayBefore so that we don't
call [NSDate date] every time.  These values are invalidated at
midnight (or any significant time change) by registering for
UIApplicationSignificantTimeChangeNotification.

Ditto for isThisYear.