formatNumber to accept maximumFractionDigits=0

Logic error in the options processing that prevent
maximumFractionDigits=0 from being passed into internal methods
properly, resulting in maximumFractionDigits being set to default
value. Fixed the logic and added tests to ensure fraction truncation.

```Globalize.formatNumber(3.14159, {maximumFractionDigits: 0}) === "3"```
Can you wrap this logic into a `validateRange()` function? As a reference, see [src/common/validate/presence.js](https://github.com/jquery/globalize/blob/abf5b30048d041161c165e9f8dcbde22aafc17db/src/common/validate/presence.js).

Also, skip the `isFinite()` unless there's a case where it's really needed. It seems like the range condition covers that already.

Also, let's run the validations only if necessary. Note below that numbers are formatted either using `numberFormatSignificantDigits` or `numberFormatIntegerFractionDigits`. So, some options are mutually exclusive.