boost::gregorian::date can't store false dates (like 31-Sep-2014). Must fix the false date case (also make it into an exception). Also need to debug the modified ReduceDate and IncreaseDate functions as they actually are giving the same date as today in both cases.