Throw illegalDataException when precision is exceeded.
Fix tests.
Merge pull request #98 from tonyhuang/scale

Change the decimal arithmetic to throw illegalDataException.