Fix math::Abs() truncation for non-Windows platforms

For Abs(int64_t), use labs() for non-Windows, because abs() on glibc only takes
a int32 parameter. On Windows, we can't use labs() because sizeof(long) is
always 4. We could use llabs() instead on Windows but as of Visual Studio 2012,
it's implemented as a library function that does a ternary operator.

For Abs(long double), use fabsl() which takes a long double instead of fabs()
which takes a double. This exists on all 3 platforms that we currently support.
Previously, fabs() would work on Windows because it provides a long double
overload that called fabsl().
Merge pull request #16 from sideeffects/send_upstream

Fix math::Abs() truncation for non-Windows platforms