Complete patch for gcc 4.8.1 warnings
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.

minhlongdo/bde,dharesign/bde,bowlofstew/bde,abeels/bde,gbleaney/Allocator-Benchmarks,saxena84/bde,RMGiroux/bde-allocator-benchmarks,osubboo/bde,bloomberg/bde-allocator-benchmarks,bloomberg/bde,bloomberg/bde,abeels/bde,osubboo/bde,dharesign/bde,RMGiroux/bde-allocator-benchmarks,bloomberg/bde-allocator-benchmarks,dbremner/bde,bowlofstew/bde,osubboo/bde,frutiger/bde,abeels/bde,apaprocki/bde,jmptrader/bde,RMGiroux/bde-allocator-benchmarks,apaprocki/bde,bowlofstew/bde,frutiger/bde,jmptrader/bde,frutiger/bde,mversche/bde,gbleaney/Allocator-Benchmarks,bloomberg/bde-allocator-benchmarks,mversche/bde,dbremner/bde,bloomberg/bde-allocator-benchmarks,dharesign/bde,idispatch/bde,mversche/bde,che2/bde,bloomberg/bde,abeels/bde,idispatch/bde,minhlongdo/bde,che2/bde,saxena84/bde,bowlofstew/bde,bloomberg/bde-allocator-benchmarks,minhlongdo/bde,jmptrader/bde,apaprocki/bde,RMGiroux/bde-allocator-benchmarks,apaprocki/bde,dharesign/bde,bloomberg/bde,che2/bde,abeels/bde,frutiger/bde,saxena84/bde,apaprocki/bde,idispatch/bde,minhlongdo/bde,bloomberg/bde,idispatch/bde,gbleaney/Allocator-Benchmarks,saxena84/bde,RMGiroux/bde-allocator-benchmarks,abeels/bde,jmptrader/bde,mversche/bde,che2/bde,gbleaney/Allocator-Benchmarks,osubboo/bde,dbremner/bde,dbremner/bde