New format option

I’ve tried many source code formatters and none worked for me, until I recently
found `clang-format’. Its output comes close to my personal style. Of course,
there are some differences, and it seems these cannot be configured using the
currently available options. I’d like to format like the following example
(which is not meaningful, just an example):

#include
#include

template< typename T >
class Test
{
T a_;
T b_;
T c_;

public:
Test(const T& arg)
: a_(arg),
b_(arg),
c_(arg)
{
}
};

int main()
{
Test< int > a(5);
Test< std::vector< int > > b(std::vector< int >());
}

My current `.clang-format’ looks like this:

BasedOnStyle: WebKit

AccessModifierOffset: 0
AllowShortIfStatementsOnASingleLine: true
AlwaysBreakTemplateDeclarations: true
BinPackParameters: false
BreakBeforeBraces: Linux
BreakConstructorInitializersBeforeComma: false
ColumnLimit: 79
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 0
Cpp11BracedListStyle: true
IndentCaseLabels: true
IndentWidth: 8
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
PointerBindsToType: true
SpaceAfterControlStatementKeyword: true
SpaceBeforeAssignmentOperators: true
SpaceInEmptyParentheses: false
SpacesBeforeTrailingComments: 1
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
Standard: Cpp03
TabWidth: 8
UseTab: Always

The above output was achieved by using the following diff against revision
192886 of `TokenAnnotator.cpp’:

Index: lib/Format/TokenAnnotator.cpp