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
when I proposed that refactor I was wondering if going through a hash in the original code was to perform some deduplication on the name_tuple. if not going through a hash is not necessary.