add BillingCycle tests; fix bug that miscalculated the next future anniversary when anniverary is > 1 cycle in the future