refactor sacrifice code, fix flow

bugfix: sacrifice that fits many cases (own race + former pet, unicorn +
former pet) is handled properly. Sacrificing own race on crossaligned
high altar works properly.