PLAT-6795 - Fix application of EOM flag when not at EOM

Test and rework one of the many schedule generation methods.

This change ensures that the end-of-month rule is only applied if the appropriate date (start or end) is at the end-of-month. It also ensures that the rolling rule does not go beyond the end date. Plus tests.
Method name is slightly confusing - it includes "noStub" but there's actually a stub (which is unused). There's also a method below called "...noStub" that actually has StubType.NONE