Refactored into Command Pattern; add undo and show

1. Deployed Command Pattern
2. Added undo, redo
3. Added show today/tomorrow/all/done/label/keyword

Known issue:
Does not undo update properly.
Addition to the last commit

Might be GIT problem again? I couldn’t combine this with the last
commit.
Merge branch 'Branch-to-work-on-Command-pattern' into NewMaster