WIP new wording for timeutil

Import internal commit c87749b50abb18f16b59e0131e4c1e33e584ce96
Windows workaround for test drivers of unix headers

We have a couple of components that wrap standard POSIX
headeers that do not have a Windows equivalent.  It is
preferred for the component header to fail explicitly
on Windows when it tries to include the platform
header, rather than silently succeeding, only to fail
more subtly later when the user tries to make use of
the features declared in that header.  Hence, this
patch ammends the test drivers to perform a quick
platform detection before trying to include the
headers under test, avoiding the problem on Windows.
Catch exception escaping bsls_assert test in SAFE_2

When testing for SAFE_2 builds, the usage example features throwing
a 'std::exception' object, that is not caught in the test case.
This is a simple patch to explicitly insert a try/catch block unless
building in a mode where exceptions are disabled.  We explicitly
check the build mode flag and use try/catch directly, rather than
using the 'bsls_exceptionutil' wrapper, as that component directly
depends on 'bsls_assert' already, and we must not introduce a cycle.
Corrected bslscm_version to refer to bsl instead of bde in its component doc.
fixing the assign method and op= exception safety issues
moved the functions definition outside of the class
updated the code after code review
fixing a build issue on SunCC when 'std::swap' can't be found
Add test for 'color()' removing unused variable warning.
Re-architected this changeset based on review feedback
Resolve new warnings reported by gcc 4.8.1
Complete patch for gcc 4.8.1 warnings

This patch addresses two issues with warnings.  The
first is that gcc 4.8.1 introduces a new warning for
unused 'local' typedefs, that are typically stale code
that should be cleaned up.  However, that is not true
in all cases that the warnings flags for, and in fact
we must produce a new implementation for 'BSLMF_ASSERT'
using function declarations rather than typedefs to
achieve the same effect.  Note that testing the error
message reported shows the exact same message with
both implementations, so there should be no new QoI
issues raised with this implementation.

A second issue noted and fixed is a large number of
warnings from 'BSLMF_ASSERT' expressions in 64-bit
builds, as the expression type of the static assert
construct is 'int' rather than 'bool', and the gcc
compiler likes to warn about conversions potentially
changing values with the '!!' idiom potentailly
producing a large value to truncate.  This issue is
most easily solved by using 'bool' as a more natural
match for the type of a boolean expression, which
happens to avoid the narrowing concerns highlighted
by the compiler.
Windows workaround for test drivers of unix headers

We have a couple of components that wrap standard POSIX
headeers that do not have a Windows equivalent.  It is
preferred for the component header to fail explicitly
on Windows when it tries to include the platform
header, rather than silently succeeding, only to fail
more subtly later when the user tries to make use of
the features declared in that header.  Hence, this
patch ammends the test drivers to perform a quick
platform detection before trying to include the
headers under test, avoiding the problem on Windows.
Catch exception escaping bsls_assert test in SAFE_2

When testing for SAFE_2 builds, the usage example features throwing
a 'std::exception' object, that is not caught in the test case.
This is a simple patch to explicitly insert a try/catch block unless
building in a mode where exceptions are disabled.  We explicitly
check the build mode flag and use try/catch directly, rather than
using the 'bsls_exceptionutil' wrapper, as that component directly
depends on 'bsls_assert' already, and we must not introduce a cycle.
Merge branch 'dev/ameredit/fix_bsls_assert_test_driver_for_SAFE_2_drqs35732116' of devgit:bde/bsl-oss into fix_bsls_assert_test_driver_for_SAFE_2_drqs35732116
correct typos in comments

A couple of typos had entered the keyboard buffer between
testing the code an pushing to 'git', so this corrects a
couple of minor issues unrelated to the main thrust of the
patch itself.
Merge branch 'dev/ameredit/fix_bsl_plus_test_drivers_for_posix_hdrs_on_windows_drqs41591557' of devgit:bde/bsl-oss into fix_bsl_plus_test_drivers_for_posix_hdrs_on_windows_drqs41591557
Guard additional unix-only test drivers
mend
Correct a bad fix in vector::at

While resolving new warnings raised by gcc 4.8.1, I accidentally
turned a <= test into a plain < test, missing the important
fence-post condition for when the 'at' call throws exceptions.
This path restores the correct test.