fix Issue #8953- "Localizing package metadata in Extension Manager"

fix Issue #8953- "Localizing package metadata in Extension Manager"

This change adds Extension Manager support for localized extension package metadata.  If the localized property is present (ie. property matching the short language name), then the additional provided properties will overlay any otherwise-defined properties.  These localized strings will then be displayed in the Extension Manager dialog for those extensions that provide them.

note: The localized content is completely optional.

For example, in this code sample, the French `title` and `description` properties would be overlayed with the given, localized strings.

```
{
    "name": "localization-example",
    "title": "Localization Example",
    "description": "A guide on how to localize your extension.",
    ...
    "i18n": [
        "en", 
        "fr" 
    ],
    "fr": {
        "title": "fr title to replace the root title",
        "description": "fr description to replace the root description"
    }
}
```
This is almost 100% duplicated too -- I think everything except this last spyOn() could be moved into a shared utility function too.

And ditto for the afterEach() code below...