Fix #1: modify setScale() to avoid padding zero-equivalent

Fixes #1 by adding check inside setScale() to avoid padding zero-equivalent ```BigDecimal```s. Includes unit test to expose behavior described in #1.