added DST functions

and getLastDayOfMonth( ) and calculateNthDayOfMonth( ) can use -1 to
indicate the 'last' day
Revert "added DST functions"

This reverts commit 9138dd6e12923f73c03ca1d7a0659b586e61a17b.
Revert "Revert "added DST functions""

This reverts commit 2e895f1be3d8e89619a5fa2853feaa033549de35.