Initial implementation of Strict mode.

   * Off by default. Set process.env.NODE_CONFIG_STRICT_MODE to a true value to enable.
   * When on, there must be an explicit config file matching NODE_ENV if NODE_ENV is set.
   * When on, there must be an explicit config file matching NODE_APP_INSTANCE if NODE_APP_INSTANCE is set
   * When on, NODE_ENV must not match 'default' or 'local' to avoid ambiguity.

If a strictness check fails, an exception will be throws at require-time.
Update wording so that it could work as warning or fatal error.
Update getConfigSources() to start returning empty objects nows.

Also, while a warning would previously be issued if only empty
configuration files were found, the warning will not be issued in that
case, only if the config files are warning.

This could be considered to address #160, since we no longer claim that
empty configuration file is missing.
Update Strict Mode to warn-by-default and upgrade warnings to exceptions under strict mode.

   Also strictness checks are now skipped for NODE_ENV=development because 'development' is the default value.
Merge pull request #178 from markstos/add-strict-mode

Initial implementation of Strict mode.