Add JUnit-style output format to run_unit_tests.py.

This patch adds a new output format to the test driver execution script,
which captures test case output, collects results and emits them in a
form that other tools can consume. This mode is enabled by specifying
"--junit=<file.xml>" to the script.
Add support for 'ldflags_extra' in build system.

This patch adds the ability to specify extra (additional) flags to the
linker when bsl_gyp.py is executed (by adding a command line option
similar to '-D ldflags_extra=<flags>'). This parallels the existing
'cflags_extra' support.
Eliminate reliance on special CLANG_GNUC_* macros.

The BSL platform header relied on custom preprocessor macros that had
to be provided by the build system when Clang was used to compile. These
have been replaced with hardcoded values that configure the code to act
as if Clang was GCC 4.4.0.
Disable inlining for 'Debug' builds on GCC-type compilers.

Inlining interferes with debugging and also interferes with code
coverage analysis, so this patch disables it for Debug builds
when GCC or a compatible compiler is being used.
Merge branch 'master' of github.com:bloomberg/bsl