Initial cleanups of the param-attribute code in the bitcode reader/writer.

Rename the PARAMATTR_CODE_ENTRY to PARAMATTR_CODE_ENTRY_OLD. It will be replaced
by another encoding. Keep around the current LLVM attribute encoder/decoder
code, but move it to the bitcode directories so that no one's tempted to use
them.
[Stack Alignment] emit warning instead of a hard error

Per discussion in rdar://13127907, we should emit a hard error only if
people write code where the requested alignment is larger than achievable
and assumes the low bits are zeros. A warning should be good enough when
we are not sure if the source code assumes the low bits are zeros.

rdar://13127907
Add some missing diagnostics for C++11 narrowing conversions.
Remove sparse text on diagnostic options.  These are not really documented anywhere, and they really aren't for normal users.
PR15095: Use more correct source locations for the InitListExpr we fake up for
vector initialization. Patch by John Stratton!
Added LLVM Asm/Bitcode Reader/Writer support for new IR keyword externally_initialized.
Test for virtual instead of pure here. It has the exact same effect, and John
claims it will improve performance.
Remove dead code related to the now defunct PCH stat cache.
When the target-independent DAGCombiner inferred a higher alignment for a load,
it would replace the load with one with the higher alignment.  However, it did
not place the new load in the worklist, which prevented later DAG combines in
the same phase (for example, target-specific combines) from ever seeing it.

This patch corrects that oversight, and updates some tests whose output changed
due to slightly different DAGCombine outputs.
Revert "Remove sparse text on diagnostic options.  These are not really documented anywhere, and they really aren't for normal users."

I changed my mind.  We should just document these in the man page.
Add code to GlobalVariable.h so that global variables marked as
externally_initialized return false for hasDefiniteInitializer and
hasUniqueInitializer.

rdar://12580965.
Print error messages from MemoryBuffer::getFile() in llvm-symbolizer
Use the do-while(0) thing for this #define.
Spaces instead of tabs.
Driver and option support for -gsplit-dwarf. This is a part of
the DWARF5 split dwarf proposal.
Add support for emitting a stub DW_AT_GNU_dwo_id as part of the
DWARF5 split dwarf proposal.
Add support for testing the output of the abbrev table for the
skeleton CU as part of the DWARF5 split dwarf proposal.
Construct a skeleton cu for each compile unit in the module, not just
for the first compile unit.
TextDiagnostic.cpp: Suppress a warning to use ptrdiff_t on i686-clang. [-Wsign-compare]
This patch changes a static_cast to dyn_cast
for MipsELFStreamer objects.

Contributer: Jack Carter