Simplify SOAExtensions
- add deduction guide for ZipContainer
- use template deduction when possible
- prefer defaulted {copy,move,}constructors
- prefer binary operators implemented as friends
- prefer fold expression over recursion
- prefer to pass sink arguments by value, and move them
- add an overload to semantic_zip which does not require the skin to be specified, and use this overload to simplify TestSelection
- rename always{True,False} to always{True,False}_t, and add two inline constexpr variables always{True,False} so callers do not have to add {}
Edited by Marco Cattaneo