Fixed #21457 -- Allowed fixture file name to contain dots

Thanks Keryn Knight for the report.
Fixed some Signal.disconnect calls from 058e434.

This would go unnoticed by the test suite because receivers are removed
automatically when they are garbage collected.

Changed all Signal.connect calls to hold strong references to ensure we
clean up after ourselves.
Fixed #21461 -- Added pre_update and post_update signals.

Refs #21169.