Add -m (for match) switch to test.py.

Usage: test.py -m rtc/
Report negative time parts as invalid.
Convert ticks using a better supported year range.

Since 400 years is a stable number, we can adjust everything to [1970,
2370) and most system libraries (hello, Windows) will get it right.

This fixes overflow issues with tick/date conversions.
Check days in month within sceRtcCheckValid().
sceRtcTickAddYears(): don't write invalid results.

Also fix leap day handling, per tests.
Simplify sceRtcTickAddMonths() and write if valid.
Fix overflows in sceRtcAdd*() funcs.
Merge pull request #4822 from unknownbrackets/rtc

Fix some date conversions in sceRtc