Emit signal before DataControlSource destruction
SeatInterface cleans up when a data source goes away. However the cleanup also makes use of metaobjects so needs to run before the leaf class destructor is run.
All other AbstractDataSource objects emit the unbound signal, which SeatInterface also connects to do a earlier cleanup. Otherwise we get a potential crash if a data control source replaces itself.
I can rename it aboutToBeDestroyed after we land the other changes moving AbstractDataSource from Resource