Add task fields

New task fields added. estimatedEffort, actualEffort, due date with Jcalendar. 
Realized that I didn't give justification for this - UnsupportedOperationException should only be used if the method is flat out unsupported - we should use IllegalArgumentException since the issue here is the argument (estimatedEffort) is invalid  - we should use exceptions that reflect the meaning behind them.