added annualRaiseDist
refactored the design to pass the plan by constructure. and getRetirementPlan.
Improved the design by coding by contract and accepting any type of realDistribution not only limited to normalDistribution