Name the cache file with registry info

Make sure different registry use the different cache file,
The official registry use .cache.json file will not change.

I use several registries,
```
alias cnpm='npm --registry=http://registry.cnpmjs.org'
alias tnpm='npm --registry=http://registry.npm.taobao.net'
```

When I exec `npm search connect`, `tnpm search connect`, It will use the same cache file and make the result confused.