Add minimum and maximum values to number formatter

Without this fix, CPNumberFormatter does not have the ability to check if a number is within a specified minimum/maximum range.

This fix allows the user to set a minimum and maximum value for a formatter. Numbers outside of this range will cause the field to not validate.

This commit also allows a value of an empty string to pass the formatter. This is also in line with Cocoa behaviour, since an empty text field will allow the user to progress to the next one without marking it as an error.

This commit includes a new unit test for this behaviour, as well as nib2cib compatibility (previously added but commented out).

NB: For this to work like Cocoa, CPDecimal must accept numbers that begin with leading zeros. A separate pull request (#1828) has been submitted for this.