EST-257: refactoring inheritance hierarchy

- rename EstatioRefDataObject to EstatioImmutableObject
- rename EstatioTransactionalObject to EstatioMutableAndLockableObject
- factored EstatioMutableObject as superclass of EstatioMutableAndLockableObject (the version and id, but does not implement Lockable nor has the two statii)
Then:
- moved the "data that sometimes changes" (Charges, Country, Vat etc) so subclass EstatioMutableObject rather than EstatioImmutableObject

Also:
- reviewed use of @DatastoreIdentity, @Version, and @Discriminator in all entities

Also:
- roll up InvoiceItemForLease up to InvoiceItem
- made Unit abstract, since never instantiated directly