adding save-prefix configuration option

- 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 [c10b608] in npmconf repo

This PR replaces https://github.com/npm/npm/pull/4963 (`save-range` was renamed to `save-prefix`)