Floating revamp, delete save

removed isFloating boolean, isTaskFloating() now just checks if
dates.isEmpty()

delete() now reads and writes to file
check for overdue on startup

Created a method that checks for overdue tasks within al_task and moves
them to the appropriate list
completed tasks, refactoring

Refactored isTaskFloating() to isFloating()
Created a retrieveTaskList(task) to determine task list: insert and
delete are using this now
Introduced completed tasks: Tasks can now be moved to completed list.
Some formatting
new class TaskDate

New class taskDate: Contains two dates. This can be used to represent
durations. Modified majority of parameters and methods to it

If there is no need for duration (e.g. deadlines), set start_date =
end_date

Requires further testing for bugs
Modified test cases

Revamped some code: Tests only display a message when output is
unexpected
Major revamps on TaskDate

Revamped TaskDate; prototype; incomplete
Tests modification

Modified tests to check on Tasks for now: Currently pass
Recurring task update

Modified updateRecur() and relevant fields for recurring tasks.
Currently updateRecur() is still not working (suspected infinite loop),
will log to find problem
Recurring tasks, defensive coding

Attempted to use logging and assertions for testing.
Discovered test bug: was not testing the correct result. Modified it.

New bug: updateRecur() adds one more date extra after the limit. Modify
while loop
In addition, modify to delete older dates during updateRecur()
Recurring tasks

Applied SLAP to updateRecur(). Fixed the adding-over-limit bug.
Attempting to recur every week is still buggy.
Still need to implement removing old dates
Recurring task (week/day)

Solved the issue with weekly and daily.
Observation: To add an "every Sunday" task, find the nearest Sunday and
then add weekly.
Observation: The limit date must be strictly later than the last date,
even by 1 second. E.g. if you want it to recur at Dec 1 23:00:00, the
limit must be Dec 1 23:00:01

Committing Controller to fix the uncommited changes issue
Reimplemented LinkedList of TaskDates and modified all tests.

Current issues:
Still need to remove old dates
Want to hide TaskDate
Fixed removing old dates

Task can now remove old dates. In addition, fixed a bug in isFloating():
not updated to check the LinkedList
Fixed recurring tasks

Completed the last task test 9. Removed taskRecur and related methods
from task. Removed recurring tasklist from Storage
Storage revamp + tests

Purged many things from Storage. Now Storage insertion and deletion is
based on the assumption that said task does not exist/only exists as a
single copy inside the storage.

Must implement check for duplicate
Removed logger, blanked an always-wrong test
Cleaned up Task's date methods, deletion bug

All setters except Calendars
All getters now return String
Externaliseed DateNode, but it should not be used by anyone else
Fixed bug in deletion
Added some reminder date methods.
Added deletion tests for Storage
Merge branch 'daryl_storage' of https://github.com/cs2103aug2014-w14-1j/main into tasks
Merge branch 'tasks' into daryl_storage