Make the MuonTrackCleaner more thread-friendly
Mutable variables are moved onto the stack and the code is migrated to use smart pointers. The tool now returns a std::unique_ptr: calling tools are modified to expect this. As this makes it impossible to compare pointers to see if there have been any changes from the cleaning, track parameters are now compared instead. Finally, the TMEF_CombinedMuonTrackBuilder will no longer add a perigee to the track at the MS entrance, matching the configuration in the offline tool. This also avoids possible problems resulting from creating a copy of a Trk::Track object with two perigees.
Closes ATLASRECTS-4993