[PATCH] Add an attribute to forbid temporary instances of a type (issue3745045)

Reviewers: ,

Message:
This is the first attribute I've added, so please let me know about
anything I could have done better.

Current diff at
http://codereview.appspot.com/download/issue3745045_1.diff

Description:
This allows class authors to write "class
__attribute__((no_temporaries)) Name ..." when they want to force users
to name all variables of the type. This protects people from doing
things like creating a scoped_lock that only lives for a single
statement instead of an entire scope.

Please review this at http://codereview.appspot.com/3745045/

Affected files:
   M docs/LanguageExtensions.html
   include/clang/Basic/Attr.td
   M include/clang/Basic/DiagnosticSemaKinds.td
   M include/clang/Sema/AttributeList.h
   lib/Sema/AttributeList.cpp
   lib/Sema/SemaDeclAttr.cpp
   lib/Sema/SemaExprCXX.cpp
   A test/SemaCXX/no-temporaries.cpp

Index: test/SemaCXX/no-temporaries.cpp