Initial support for formatting trailing return types.

This fixes llvm.org/PR15170.

For now, the basic formatting rules are (based on the C++11 standard):
* Surround the "->" with spaces.
* Break before "->".

Also fix typo.

llvm-svn: 185938
diff --git a/clang/lib/Format/Format.cpp b/clang/lib/Format/Format.cpp
index fb93149..b6b726c 100644
--- a/clang/lib/Format/Format.cpp
+++ b/clang/lib/Format/Format.cpp
@@ -674,7 +674,7 @@
         State.Stack.back().Indent = State.Column;
       else if (Previous.opensScope()) {
         // If a function has multiple parameters (including a single parameter
-        // that is a binary expression) or a trailing call, indented all
+        // that is a binary expression) or a trailing call, indent all
         // parameters from the opening parenthesis. This avoids confusing
         // indents like:
         //   OuterFunction(InnerFunctionCall(