BigDecimal now should handle negative numbers and subtraction properly. Add tests I've thought of.