Modernize FSRAlgs
- prefer direct member initialization
- prefer implicit destructors
- prefer SmartIF over raw pointer to services
- prefer auto
- use CommonMessaging
- prefer unique_ptr over raw pointer and explicit delete
- avoid unnecessary indirection (i.e. keep vector by value instead of by owned pointer)