[-cxx-abi microsoft] Emit linkonce_odr definitions for declarations of static data members with inline initializers (PR17689)

This makes Clang emit a linkonce_odr definition for 'val' in the code below,
to be compatible with MSVC-compiled code:

  struct Foo {
    static const int val = 1;
  };

Differential Revision: http://llvm-reviews.chandlerc.com/D2233
Rename allocateString -> allocate.
revert r194655
YAML I/O add support for validate()

MappingTrait template specializations can now have a validate() method which
performs semantic checking. For details, see <http://llvm.org/docs/YamlIO.html>.
Implemented DefaultIntArgument in the table generator and start using it in semantic analysis. Removes some magic numbers.
ObjectiveC. Allow toll free bridge cast warnings outside
ARC and in objectiveC/ObjectiveC++ MRR mode as well.
// rdar://15454846
[PECOFF] Do not check if library is already added.
Constify the DIEs used for pubname and pubtype tables. Propagate
through findAttribute etc.
ObjectiveC migrator. use strong instead of
retain attribute for inferred properties.
// rdar://15519923
Update comment.
<rdar://problem/15449837>

Change the NSSet data formatter to not use the expression parser to produce synthetic children
In small-scale experimentation with lldb-perf, this improves our performance by around 25%
[PECOFF] Move files with ".lib" extension to the end of the input file list.

It's allowed to specify library files *before* object files in the command
line. Object files seems to be processed first, and then their undefined
symbols are resolved from the libraries. This patch implements the compatible
behavior.