cmath module support

Fix #497. This adds support for all cmath methods.
Note: it also implements math.isfinite and math.copysign, and fixes a couple issues with signed zeros and infinites (which are almost untested in test_operators and test_mathlib, AFAIR).