Fix Issues with FY5253 and nearest w/ year end in Dec
There are currently some issues with FY5253 working with `variation="nearest"` and `startingMonth=12`.

This PR fixes those issues and add some more tests.

@jtratner Other than that, any other changes? I would like to get this fix merged in for v13
 Need to rebase.
 Of course
 it just was not mergeable. If you make that change for clarity and pinky-swear that it's doing what it's supposed to, I'm sure it's fine (you're sort of the expert on the retail year). :smile:  I'll give it another once over after you change the naming there.
 I am becoming the expert. The problem was I was previously using the "year" of the dt as the canonical FY year. Unfortunately there are circumstances where two years end in the same calendar year.
 @jtratner Okay rebased, etc.
 I know we don't always ask this, but can you fix up your formatting? Just run a pep8 linter and then make changes to your portion of the code. Especially spaces around operators. 
 @jtratner Should be PEP8 compliant. I also moved the new classes around as mentioned previously.
 @jtratner What do you think of the code?
 I hate to ask this (and it's okay if you can't), but is there any way you could split this into two commits? (one that does the code move through the file and one that makes the changes). It's hard to tell which changes are what.
 I'm sure a little copy and paste action will solve this; the move was relatively simple. Let me give it a shot . One day diff tools will handle situations like this. 
 or maybe even save you from overzealous devs asking you to squash your commits :stuck_out_tongue_closed_eyes:
 @jtratner Commit split
 Thanks! 
