Fix previousOwner bug

I encounter bug in my branch caused by wrong handling of previous owner in basic OXC.
As it is clearly wrong even in master branch, I push this fix there too.
This is require, if I would merge them it could override previous owner in item.
e.g. we have 2 units prevowner and owner in that order. we set prevowner and when we set owner. then current "null" owner is moved to prevowner overriding correct value.
I tried not altering behavior of `setOwner` to prevent introducing new bugs in logic.