#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 'update_logic'

Conflicts:
	src/Logic.java
Merge branch 'quality_control'
resolve changes of expected output of test cases
naming error. change "incomplete" to "uncompleted"
change expected output of test cases
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.
Add UDID field to Task, stored in String
Merge branch 'export_support'
Merge branch 'master' into interface
Refactor Command class to include datePairs

Now for add and update, Command will contain a datePairs ArrayList
instead. For search, viewRange will be used.
Added non-logic validation for Parser

Non-logic issues such as missing variables and parameters are now
validated and return with an error message to the user. However, logic
errors such as invalid task id etc are still not caught.
Refactored output formatting and UPDATE logic

Made UPDATE work with the new command changes and refactored output
formatting into more readable and cleaner code.
Merge branch 'interface'
Fix bug for add command where date not registered
Merge branch 'interface'
Fixed how Parser creates DatePair

Now when one date is accepted from user, it will always be assigned to
`endDate` instead of `startDate`.