entity: added isAttached() method [closes #52] (interface BC break!)
entity: removed getForeignKey (replaced by getRawValue())
entity: introduced IPropertyHasRawValue [refs #53]
entity: DateTimePropertyContainer implements IPropertyHasRawValue [refs #53]

BC break - now returns unix timestamp or null.
entity: getRawValue() removed from IProperty[Container|Injection] [refs #53]
relationships: removed getPrimaryValue method() (BC break!)
repository: call onBeforePersist before geting loaded relationships [closes #48]

change: before events are called always, others only if entity was changed
entity: added enum constant existence validation checking [closes #47]
entity: allow to define default value by constant reference [closes #45]