Number: Allow different rounding mode

Globalize.format() accepts the following `round` options:
- "ceil";
- "floor";
- "round" (default);
- "truncate";

Ref gh-200
Ref gh-213
(fix) Create initial format function

- simplify number/symbol functions;
- ret is now a string instead of an array;
(fix) Create initial format function

- throw an Error on invalid pattern instead of returning null;
(fix) rounding tests order
space
fix:

- NaN does not use prefix or suffix.
- infinity uses prefix and suffix (not the negative sign).
Number: Support negative pattern

Ref gh-200
Closes gh-213