Incremental improvements on task creation and storage:

- When a task is created, its inputed start date is changed if there's a
  task that it depends on ending later, forcing the recalculation of the
  end date. Previously this happened even if the start date of the new task
  was identical to the end date of the task depended upon.
- When the end date recalculation is triggered the actual end date is only
  changed if the computed one is posterior to the stored one. Previously
  the end date was always computed and stored.
- When a new task is created the start date field is populated with the
  project's actual end date, if set, or with the current date.