Singleton Controller and Logic instance
Merge branch 'controller/sharon'
Added documentation
Added some variables to simplify code
Add welcome message
Changed getControllerInstance to getInstance
Changed executeCommand() access modifier for testing

Changed from private to package private.
Merge branch 'controller/sharon'
Prepared Controller for unit test

Created a protected constructor for unit testing which is conducted within
the package.
Added Sync and Exit command types, along with some unit test cases
Added Search command

#42
Prepared Logic for dependency injection

Added Logic constructor for extension.
Created LogicStub class which extends Logic.
Merge branch 'controller/sharon'
Included input validations for search, sync and exit

#42 #43
Merge remote-tracking branch 'origin/parser/Victor'
Merge branch 'master' of github.com:cs2103aug2014-w10-3j/main into db/sean