Improvements on Decimal.

Improved performance of Decimal::is*() and negated() methods.
Replaced max() with ternary operator to avoid a method call.
Factored decimal scaling into a scaleValues() method.
Renamed valueWithScale() to valueWithMinScale() to make the true intent of the method explicit.
Simplified mod() code.
Added ten() factory method.
Added tests.
Removed Decimal::mod()
Fixed bugs in Decimal.

dividedBy() produced wrong results when divisor was negative.
toString() produced wrong results on negative numbers.