Return original locale code on serialize

When I pass in a supported set of locale codes to `best()`, the string version of that locale code is always separated with a `_`. I assumed it would return the original supported locale code string.

For example, the current implementation is this:
```js
var locales = new locale.Locales(['en_US']);
var supported = new locale.Locales(['en-US']);
locales.best(supported).toString(); // en_US
```

This altered implementation now returns the correct `en-US` code — which is what I specified in the list of supported languages.