Overhaul and separate nullptr_t tests to pass with C++03.

The standard requires that nullptr_t can be reinterpret_cast to an integral type
at least the size of nullptr_t. There is no way to emulate this conversion in
the C++03 nullptr_t implementation. The test for this conversion has been moved
to a new test and marked XFAIL with c++03.

This recommits what was originally r222296.
Remove StringMap::GetOrCreateValue in favor of StringMap::insert

Having two ways to do this doesn't seem terribly helpful and
consistently using the insert version (which we already has) seems like
it'll make the code easier to understand to anyone working with standard
data structures. (I also updated many references to the Entry's
key and value to use first() and second instead of getKey{Data,Length,}
and get/setValue - for similar consistency)

Also removes the GetOrCreateValue functions so there's less surface area
to StringMap to fix/improve/change/accommodate move semantics, etc.
[Mips] Move setup of LLD_R_MIPS_STO_PLT relocation to the getPLTEntry() routine

No functional changes.
[Mips] Make the function return type constant pointer

No functional changes.
[Mips] Remove redundant const_cast

No functional changes.
[Mips] Inline the configurePLTReference method

No functional changes.
[Mips] Configure PLT and LA25 entries in the corresponding constructors

No functional changes.
[Mips] Remove unnecessary debug logging code

No functional changes
Revert "[ELF] Fix creation of segments."

This reverts commit r222312.

There looks to be an intermittent failure in the darwin buildbot.