Clean up CPU signbit definition

#788 / 41a56376816b8c59c4777c1ab2d3230f8a785241 presents a puzzle. Why introduce a function (okay, three functions) that just call `std::signbit`, instead of calling it directly? After all, in the next line, we just call `std::fabs`, and everything works fine.

It turns out that CUDA (before 6.5RC) defines `signbit` as a macro, which was expanding inside `std::signbit` whenever CUDA's `math_functions.h` was included before `caffe/util/math_functions.hpp`. The fix works around this by only saying `signbit` in a file that doesn't include CUDA's `math_functions.h`.

That's not necessary; we can use parens to prevent the macro expansion, dispense with the redundant functions, and not worry about where CUDA headers might be included.