Added few scalar functions

I have renamed sign to signum because in scala.math this function has signum name
Some you functions don't have test cases. They should.

Also instead of testing against concrete expected values here (where I have a hard time seeing immediately how robust they actually test the functionality), could you test against the return value of the corresponding `scala.math` function? If there is a problem with different precisions, could you just reduce the precision as appropriate? This conceptually shows how: http://stackoverflow.com/questions/7925098/rounding-a-number-up-in-java