docs(TaskList): reword descriptions for clarity
refactor(TaskList): remove 'this' keywords
fix(TaskList): initialise variables in constructor
refactor(TaskList): rename tagToTaskIdsMap to tagToTaskIds
fix(TaskList): add assertions for null tasks
fix(TaskList): change writeToFile to use incremented id
refactor(TaskList): extract writeToFile method
refactor(TaskList): revise addTask

Add comment
Add line breaks to improve readability
refactor(TaskList): revise removeTask

Add line breaks to improve readability
feat(TaskList): change updateTask to only write to file once
feat(TaskList): change when clearTasks writes to file

Change clearTasks to write to file only if task list is changed as a
result
fix(TaskList): change unindexTask to unindex specified task

Change unindexTask to return void
Change unindexTask to unindex the specified task instead of the stored task with the same id. This is because tasks are usually unindexed after being removed from the task list.
fix(TaskList): change indexTask to no longer use unindexTask
refactor(TaskList): inline variable for getTasksWithTag
Merge remote-tracking branch 'origin/master' into TaskList