P001Model class methods isModelClass & isAbstract

• isModelClass: Simply reports whether this is a usable, instantiatable model class or not (P001Model itself, intermediate class, perhaps other special-cases).
• isAbstract: Makes some basic guesses as to whether the class should be considered abstract (currently only excludes P001Model itself), but intended to be overridden by subclasses to define themselves as also abstract.