Plugin manager

Plugin manager for the new plugin structure

 - Install
  - From Rubygems
    - Latest
     - Specific version
  - From gem file

 - List installed plugins
   - All
   - Specific name
   - Specific group

 - Uninstall a plugin

 - Update
   - Single plugin to latest version
   - Single plugin to specific version
   - All to latest version
maybe I  would simply rewrite this to:
```ruby
plugin_name = ['input', 'output', 'filter', 'codec'].include?(group) && plugin
signal_usage_error "Group name not valid" unless plugin_name
```
no need to check if group is nil since that check is implicit in the include? because that array does not includes nil.