Skip installation of installed scoped packages.

Currently scoped packages will be reinstalled regardless whether they already exist in the node_modules tree.

This makes scoped packages skip reinstallation the same way normal, unscoped packages do.

e.g. 

#### `package.json`
```json
{
  "name": "scopedinstall",
  "version": "1.0.0",
  "dependencies": {
    "@fruit/apple": "file:apple",
    "cashew": "file:cashew"
  }
```

#### `./apple/package.json`

```json
{
  "name": "@fruit/apple",
  "version": "1.0.0"
}
```
#### `./cashew/package.json`

```json
{
  "name": "cashew",
  "version": "1.0.0"
}
```

## Before

Note `cashew` is only installed once, `@fruit/apple` is reinstalled every `npm install`.

```
> npm install --silent
cashew@1.0.0 node_modules/cashew

@fruit/apple@1.0.0 node_modules/@fruit/apple

> npm install --silent
@fruit/apple@1.0.0 node_modules/@fruit/apple

> npm install --silent
@fruit/apple@1.0.0 node_modules/@fruit/apple
```

## After
Note npm has ceased reinstalling `@fruit/apple` every `npm install`.

```
> npm install --silent
cashew@1.0.0 node_modules/cashew

@fruit/apple@1.0.0 node_modules/@fruit/apple
> npm install --silent

> npm install --silent

```
@othiym23 RE https://github.com/npm/npm/pull/6267/files#r17867020 

At this point we only have a list of `@scope` dirs, from the outer readdir. As far as I can tell we need to `readdir` each `@scope` dir to be able to produce the full `@scope/package` path required.

I'd suggest breaking the whole "get installed packages" thing out into its own function so this garbage is tucked away from the point here of adding packages to the family list.