Restructured configuration system

Configuration logic from node-debug.js moved to config.js
node-debug receive configuration from rc now
config uses yargs argv preprocessor now
Removed conversion part of config.js
Fixed hight priority of node-debug hardcoded defaults
Fixed default web host for node-debug
  (`127.0.0.1` instead of `localhost`)
Fixed null value of web host
  (default web host is empty string now)
Added script option
Added list of avaible options as default help info
I can do something like this:
```diff
function Config(argv, NODE_DEBUG_MODE) {
  var defaults = collectDefaultsFromDefinitions();
  if (NODE_DEBUG_MODE) {
    defaults['web-host'] = '127.0.0.1';
    defaults['debug-brk'] = true;
  }
+ Object.defineProperty(this, 'defaults', {
+   value: defaults
+ });
  
  var parsedArgv = parseArgs(argv);
  var rcConfig = rc('node-inspector', defaults, parsedArgv);
  var config = normalizeOptions(rcConfig);

  if (config.noPreload !== undefined) {
    // Deprecated in v0.7.3
    console.warn('The config option `no-preload` is deprecated, use `preload` instead');
    config.preload = config.preload || !config.noPreload;
  }
  
  util._extend(this, config);

  if (config.version) this.showVersion();
  if (config.help) this.showHelp(NODE_DEBUG_MODE);
}
```
and in tests use:
```js
new Config(args(...), true).defaults
```