adding save-range configuration option

- npm install --save|--save-dev takes npm.config['save-range'] 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

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`.