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.
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`.
Added "next week" support for Parser

Now it gives a date range for next week instead of just a relative date
of +7 days.
Merge branch 'interface'
Hotfix for #46 regarding DELETE command