feat(TaskList): change queries to return ArrayList<Magic8Task>

BREAKING CHANGE: Change the output type of queries from TreeMap<Integer,
Magic8Task> to ArrayList<Magic8Task>

Calling methods like get() and remove() on the output will have
unintended results.
style(TaskList): reorder method blocks
feat(TaskList): combine search by word/tag into one method

BREAKING CHANGE: Merge the method getTasksWithTag into
getTasksWithWord.

Before:
tasksWithWord = taskList.getTasksWithWord(word);
tasksWithTag = taskList.getTasksWithTag(tag);

After:
tasksWithWord = taskList.getTasksWithWord(word, false);
tasksWithWord = taskList.getTasksWithWord(tag, true);
Merge branch 'master' into TaskList
Merge taskList with master branch