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)