Bug 865036 - Implement mozilla::IsFloatingPoint and mozilla::IsArithmetic.  r=froydnj

--HG--
extra : rebase_source : 6813cd2a4c0b3ef460d43a5dcc21c8220702cd08
Bug 865036 - Implement mozilla::Is{S,Uns}igned.  r=froydnj

--HG--
extra : rebase_source : 6df6f2810a71bc6331be54708516bbafb24ea5c0
Bug 865036 - Add a Casting.h header to hold various casting methods, right now including a SafeCast method that asserts in-rangeness.  r=froydnj

--HG--
extra : rebase_source : ef175e4c89d07cddbe866a40fc2ca521fa32c441