Revamp of Task and Storage

Recurring tasks are now separate objects. Storage checks for recursion
and produces the extra copies. Fixed API changes in other components
Refactoring, SLAP, Task bug

Made some comments and applied SLAP, changed id_counter to not read
everytime.
Fixed potential bug in Task - may end up incrementing twice on a
recurring task with a single date
UI/Controller task handling
TaskComparator, PriorityQueues

Tasks can now be sorted. Floating tasks are lowest (first in list).
Modified tests to support.
Fixed withinDateRange() bug
defaultView() in Storage

Introduced reminderDate search
Tested defaultView(), fixed bug
Reorganised Task methods