Bug 873585 - Silence a vacuous-comparison-against-0 warning when compiling with gcc 4.5, at least.  Also make IsSigned/IsUnsigned actually work on floating-point types.  r=froydnj

--HG--
extra : rebase_source : 149695699ddb5cde3058a066785c2dc4c7c221e7