Enhanced Error Handling
* Added common exception classes in common package
* Added validate methods for each model class that throws InvalidObjectException for invalid attributes/fields in a class.
* Added dependency to common project from model project in gradle build
* Updated method signatures in DAO and Service classes to throw explicit exceptions or invalid-object, invalid-reference, duplicate-name and object-not-found scenarios.
* Add validation and enhanced error handling for data integrity constraints in save methods for all DAOs