[weak vtables] Place class definitions into anonymous namespaces to prevent weak vtables.

This patch places class definitions in implementation files into anonymous
namespaces to prevent weak vtables. This eliminates the need of providing an
out-of-line definition to pin the vtable explicitly to the file.
Add an abstraction to handle patchpoint operands.

Hard-coded operand indices were scattered throughout lowering stages
and layers. It was super bug prone.
Use symbolic operands in the patchpoint folding routine and fix a spilling bug.

Fixes <rdar://15487687> [JS] AnyRegCC argument ends up being spilled
Rename an extension warning to ext_...
Use UINT16_MAX instead of 0xFFFF.
Adding subjects to calling convention attributes. No functional changes intended.
Improving calling convention test coverage by adding tests for things not currently handled. Specifically: the diagnostics in SemaDeclAttr.cpp, and ensuring that calling convention attributes are applied to ObjC method declarations. No functional changes.
Giving this test a triple since it uses a calling convention attribute.
Add .clang-format without column limit to subdirectory tests/.

A column limit in the test folder can lead to trouble as the RUN, CHECK,
etc. comments can potentially be broken over multiple lines changing
their meaning. Without column limit, clang-format will simply keep the
test author's line breaks.
Add lld to projects to tag.
Fix patchpoint comments.
Add logging for the SB API which creates extended
threads.

Take a stab at fixing the too-soon freeing of the extended
backtrace thread list in Process.
<rdar://problem/15496603>
[PECOFF] Ignore /tlbid, /tlbout, /idlout and /ignoreigl for now.
Use early continue. Style fix. No functionality change.
Remove extraneous curly braces and blank lines.
Remove meaningless "explicit" keywords.
[PECOFF] Now that identify_magic() recognizes COFF import library.

No need to do that in ReaderCOFF.cpp.
[dfsan] Tweaks for the ABI list

- Add a bunch of glibc functions to the ABI list
- Group similar functions in the ABI

Patch by Lorenzo Martignoni!

Differential Revision: http://llvm-reviews.chandlerc.com/D2185
Add support for software expansion of 64-bit integer division instructions.

Patch by Dmitri Shtilman!
[asan] new shadow poison magic for contiguous-container-buffer-overflow, addressed Alexey Samsonov's comments for r195011