Implement the possibility for an objEntity to be abstract. These means that the entity class generated by the template will be abstract.
1. Add atttribute isAbstract within <obj-entity ...> in the Cayenne data map.
2. Add checkbox to the modeler "[ ] abstract class"
3. void setIsAbstract(boolean) and boolean getIsAbstract() added to ObjEntity.
3. change template generation to add 'abstract' keyword
Other changes (such as throwing runtime exception when querying abstract entity with no concrete subclasses) could probably wait until later since they need to be implemented as part of inheritance.