Different inheritance strategies in class hierarchy

It does not make sense to define one "global" inheritance strategy for the `abstract class PersistenceObject` (and all its subclasses). Instead I suggest to define the inheritance strategy on the root of a certain class hierarchy.

I propose the JOINED strategy for the Person/User hierarchy as this leads to a "normalized" table structure, which makes sense in case of "deep" hierarchies. For the `Application` model the (default) SINGLE_TABLE strategy should be fine as I don't expect a "wide" (-> TABLE_PER_CLASS would make sense here) or "deep" hierarchy.

Review please and feel free to merge.