Re-use dead space when adding observers.

This allows code which invalidates old observers to immediately insert
new observers without needing to worry about storage increasing before
a notification pass happens. The dead space will now be reused.