Holiday Handler Algorithms
Forward
If the date is a non-working day, move forward to the next working day.
Modified Following
If the date is a non-working day, move forward to the next working day,
UNLESS it crosses over a new month, in which case we revert to find the last working day of the current month.
Backward
If the date is a non-working day, move backward to the previous working day.
Modified Preceding
If the date is a non-working day, move backward to the previous working day,
UNLESS it crosses over a new month, in which case we revert to find the next working day of the current month.