def reset_system
      @data = Mash.new
      @provides_map = ProvidesMap.new

      configure_ohai
      configure_logging if @cli

      @loader = Ohai::Loader.new(self)
      @runner = Ohai::Runner.new(self, true)

      Ohai::Hints.refresh_hints

      # Remove the previously defined plugins
      recursive_remove_constants(Ohai::NamedPlugin)
    end
def reset_system
      @data = Mash.new
      @provides_map = ProvidesMap.new

      configure_ohai
      configure_logging if @cli

      @loader = Ohai::Loader.new(self)
      @runner = Ohai::Runner.new(self, true)

      Ohai::Hints.refresh_hints

      # Remove the previously defined plugins
      recursive_remove_constants(Ohai::NamedPlugin)
    end
the cli flag is used to determine if we're being constructed by
 something like chef-client (which doesn't set this flag) and
 which sets up its own loggers, or if we're coming from Ohai::Application
 and therefore need to configure Ohai's own logger.
 clears the current collected data, clears the provides map for plugins,
 refreshes hints, and reconfigures ohai. In short this gets Ohai into a first run state

 @return [void]