Fix crash when removing walkins

This was an obnoxious and stubborn crash caused by the OSComboBox being
bound to certain "ZoneBoundary" properties of RefrigerationWalkIn.
RefrigerationWalkin objects have ZoneBoundaryFoo properties that are
written not directly to RefrigerationWalkin object, but indirectly
through a related ZoneBoundary object.  When RefrigerationWalkin was
removed the OSComboBox attempted to refresh onChange, when ZoneBoundary
was gone, but RefrigerationWalkIn was still there, thus the OSComboBox
had not been unbound yet.

This fix is rather ugly and there might be better solutions.  It seems
the ultimate solution might be for ModelObjects to announce they are
going to be removed before anything actually happens. This would
certainly be useful in other scenarios as well.