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"```
Nice that you thought on all the variants. Although, validating each of them adds considerable bytes to the code.

I'd consider mimicking [ecma-402's InitializeNumberFormat](http://www.ecma-international.org/ecma-402/1.0/#sec-11.1.1.1) (items 26 to 29). It sets minimumFractionDigits with the value if under the  0, 20 range or use default 0. Then, it sets maximumFractionDigits if under minimumFractionDigits, 20 range, or use default --- if "percent", then let mxfdDefault be max(mnfd, 0); else let mxfdDefault be max(mnfd, 3).