Ensuring milestone has a valid associated time period before being graphed.
Added hasValidTimePeriod() and various other tests as support.
Ensuring milestone group has a valid associated time period before being graphed.
Milestone group due date now changes when milestones due dates change.
Moved updateGroupDue() from EditMilestoneForm to MilestoneGroup.
Added hasValidTimePeriod() and various other tests as support.
Signing contributor agreement.
Fix build on the modern OS X where Java is not provided in the same way
Fix code style
Fix an issue where the dueDate calculations of a milestoneGroup could crash the edit milestone page.
We needed to merge the object into the new session earlier in the lifecycle if dueDate is being set.
List if fixes for 2.0.1