Add the new calculations engine.
Reorganize Specflow tests for the engine.
Introduce IScheduleConfigurationFactory.
Move configuration out of constructor to the BuildSchedule() method of ScheduleBuilder.
Add IBaseScheduleConfiguration.
Add OctopusScheduleConfigurationFactory.
Reorganize period policy tests.
Convert return type of GetNumberOfPeriodsInYear() from int to double.
Add CustomPeriodPolicy.
Add more policies to OctopusScheduleConfigurationFactory.
Add date shift policy to OctopusScheduleConfigurationFactory.
Finish a first version of OctopusScheduleConfigurationFactory.
Add tranche builder.
Make schedule configuration cloneable.
Resolve merge conflict.
Add ITrancheConfiguration and change the signature of the BuildTranche() method.
Adjust the implementation of TrancheBuilder.
Add extra day interest adjustment to tranche builder.
Add a couple tiny fixes.
Change the calculation of the adjustment of interest for the first installment.