This patch adds information about the parameters and return types of completion
candidates.
Previously, for the following code:
struct S { int func(int a, double b) const; };
the completer would only return the label of the candidate func.
Now it will also return the return type int and will format the label for the
candidate as func(int a, double b) const.
Should we also update sortText and filterText, which use label by default, just like insertText?