semverMap(normalizedName) {
    var slash = normalizedName.indexOf('/');
    if (slash < 0) {
      slash = normalizedName.length;
    }
    var versionPart = normalizedName.slice(0, slash);
    var at = versionPart.indexOf('@');
    if (at !== -1) {
      var semver = versionPart.slice(at + 1);
      var m = this.semVerRegExp_().exec(semver);
      if (m) {
        var major = m[1];
        var minor = m[2];
        var packageName = versionPart.slice(0, at);
        var map = Object.create(null);
        map[packageName] = versionPart;
        map[packageName + '@' + major] = versionPart;
        map[packageName + '@' + major + '.' + minor] = versionPart;
        return map;
      }
      throw new Error('semverMap found no matching semver regexp in ' + semver);
    }
    throw new Error('semverMap expected name@semver, got ' + versionPart + ' ' + normalizedName);
  }
@param {string} normalizedName, eg traceur@0.0.13/...
@return {Object} 3 properties, eg traceur@, traceur@0, traceur@0.0,
  all set to the first segment of the normalizedName.