Code restructuring and new features
* Restructured the program to center around CRUD operations with the DB
* Configured Getopt to be case sensitive on single letter options
* Improved the --onDate option by making it optional but functional on all CRUD operations. If not specified, the current date will be used
* Made "usage error" dies a little more robust
* Simplified and reorganized the calls to the Exercise class
* Further clarified many messages to the user issued by the Exercise class