Introduce PenaltyBreakTemplateDeclaration to control the penalty,
and change AlwaysBreakTemplateDeclarations to an enum with 3 modes:
- None for automatic (e.g. penalty based) wrapping of template declaration
- BeforeFunction for always wrapping before functions, and applying penalty before classes (e.g. same as legacy behavior when AlwaysBreakTemplateDeclarations=false)
- Always for always wrapping (e.g. same as legacy behavior when AlwaysBreakTemplateDeclarations=true)
I think it'd be worth having a case here that would actually be formatted differently with BTDS_MultiLine.