Add of LogicTest.java for testing

Add the LogicTest.java for Junit Testing.
Amendments made to Logic due to bug found during testing
Edit of code in add

edit of code in add due to bug found during the following sequence- undo
of edit, undo of add, redo of add.
Testing boundary case undo

Testing of lower boundary of undo and upper boundary of redo
Cleaning up Logic

Remove certain redundant codes from Logic and solve bugs such as able to
edit time to a past time
Bug solving

Solve the bug where it does not allow undo and redo of a task that has
passed and a bug which might result in scrambling of data after certain
sorting.
Bug solving

Solving of a bug which cause undo and redo to work incorrectly for
multiple undo and redo,
remove replicate line, change wrong return message
Merged Latest Logic into master
Merge branch 'Youwei-Testing-branch'