#46 fix bug in update_Logic. update the new instance in displayedTasksMap
#46 fix bug in markTaskComplete()
change test case of markTaskcomplete() with mark(1) followed by mark(1)
Merge branch 'interface'
Let Logic.addTask throw IOException
Fix javadoc in Logic.java
Let Logic.addTask throw IOException
Move formatting for output of task to Task.java
Fix javadoc of Logic.delete
Refactor formatted task list output

* Moved related formatting code to a standalone method formatTaskListOutput() (requires displayedTasksMap to be built first)
* Let search and view methods construct displayedTasksMap and call formatTaskListOutput() to format the output
* Change search and view methods to use StringBuilder for faster performance
Clean up imports in Logic.java
Merge branch 'update_logic'

Conflicts:
	src/Logic.java
Rename string constants for output formatting
Merge branch 'quality_control'
resolve changes of expected output of test cases
naming error. change "incomplete" to "uncompleted"
change expected output of test cases
Refactor constructors of Task
Merge branch 'quality_control'
Let the default constructor of Task call no other constructors

This should only be called by Java Bean, there is no point initializing its fields.