Just wondering how it works...
It says it gives you a companion at character level -3 but that it stacks with whatever other class gives it to you if you take it later.
However, if we have ally = CL - 3 and then add levels of a class giving a companion, there are really two interpretations.
1) ally = (class levels not giving AC -3) + (class level of class giving a companion)
2) ally = (total character level - 3) + (levels of class giving you AC)
______
Both are reasonable interpretations, but the second lets you stack more.
Sample character:
Fighter 2 / Paladin 4 with Nature Soul and Animal Ally feats. Not a problem, the companion is level 3. However, at the next level, the player chooses a mount. The character level is 7, and would have a horse, camel, etc at level 5, but you stack it with the other one you already had and it's now level 8 OR level 9 depending on which interpretation is used. This gets worse as you keep leveling in Paladin, leading to a pet that either stays one level above player level, or two, then three, then four, then five etc levels above player level.
I'm leaning toward the first interpretation, but I think I'd be OK with the second as well...