def remove_plugin(namespace, plugin_type, instance_name, &code) # :yields: plugin
    plugin = delete([ :active_info, namespace, sanitize_id(plugin_type), instance_name ])
    code.call(plugin) if code && plugin
    plugin
  end
def remove_plugin(namespace, plugin_type, instance_name, &code) # :yields: plugin
    plugin = delete([ :active_info, namespace, sanitize_id(plugin_type), instance_name ])
    code.call(plugin) if code && plugin
    plugin
  end
Remove a plugin instance from the environment

 * *Parameters*
   - [String, Symbol] *namespace*  Namespace that contains the plugin
   - [String, Symbol] *plugin_type*  Plugin type name
   - [String, Symbol] *instance_name*  Plugin instance name to tremove

 * *Returns*
   - [nil, Nucleon::Plugin::Base]  Returns the plugin instance that was removed from environment

 * *Errors*

 * *Yields*
   - [Nucleon::Plugin::Base] *plugin*  Plugin object being removed (cleanup)

 See:
 - Nucleon::Plugin::Base
 - Nucleon::Config#delete

 See also:
 - #sanitize_id