Advanced Number and list formatting

This adds advanced number and list formatting.

datatype-number-format currently offers a limited number formatting api. The new module datatype-number-format-advanced extends this feature to support more locale dependent behavior. The parameters like prefix, suffix and separators to define how to format the numbers are now automatically determined according to the locale and the style parameter set by the user, instead of forcing the user to define it every time.

datatype-list-format adds support for formatting lists. For example, the array ["US", "UK", "Canada"] when passed to Y.Array.format() will return "US, UK and Canada" for English. The output differs according to the locale.

Eventually, when we add message formatting, these modules will be used by the message format module to format numbers and lists.

Please note that while the diff is quite large, most of it is the locale data required by both modules. The relevant code can be found in build/datatype-number-format-advanced/datatype-number-format-advanced.js, build/datatype-list-format/datatype-list-format.js and build/intl-common/intl-common.js.