adding save-prefix configuration option

This PR replaces https://github.com/npm/npm/pull/4963 (`save-range` was renamed to `save-prefix`)

- npm install --save|--save-dev takes npm.config['save-prefix'] into
  account when prefixing the version in the package.json
- by default the version is prefixed with '^'
- added tests for this feature
- added documentation for this feature including one example
- tests are passing without npmconf changes, but this commit goes alongside [e045042] in npmconf repo

I suppose you'd merge https://github.com/npm/npmconf/pull/25 first, publish a new version and check in the update with the `node_modules`.