fix specs for exception handling

- setup a class heirarchy of exceptions so i can easily rethrow
  any internal ohai error
- catch all the non-internal errors from running the plugin and
  just warn on those
- convert the argumenterror raises to ohai invalidplugin errors