Allow CPDecimal to handle decimal numbers with leading zeros

Without this fix, CPDecimal will return NaN for numbers that have leading zeros, e.g., 0123.

This fix changes the matching regex to allow leading zeros to pass. This is then converted to a proper number later on, e.g., "0123" => 123. This is in line with Cocoa behaviour.

This commit also includes updated unit tests.
Merge pull request #1828 from ahankinson/cpdecimal-allow_leading_zeros

Allow CPDecimal to handle decimal numbers with leading zeros