Fixed both dynamic-update cases for NH-3512

This is rebased and squashed copy of #220.
There is still issue is narrow base class (for example with Id only) when we can simulate fake base class property update to force version increment...
I don't know what to do in this case. It will behave like it behaves now, but the case is very rare (imo). You need to have base class with Id (and Version) only and no other properties and choose table per subclass inheritance. Don't know how it sounds in English, but in we call it "sam sebe buratino".

Of course we can find appropriate exception type to throw but this will change current behaviour and can be considered as breaking change.