PLAT-6802 - Enhance performance of MasterHolidaySource

Enhance performance by avoiding cloning in lookup method.

* Old code cloned request object for every lookup. New code only clones when necessary.
* Add faster version of weekend check.
* Call weekend check in advance of creating object in common calls.
* Use set rather than binary search.
May be worth a few comments to indicate what behaviour is tested i.e. here we're showing that the master has not been hit an additional time