[plugins] add initial profile tags to all plugins

Add an initial profile tag list to each plugin base class. A tag
list is a tuple of strings indicating the set of profiles that
should select this plugin, e.g.:

    plugin_name = "qux"
    profiles = ('system', 'storage', 'foo)

A follow up patch will add infrastructure to use these tag lists
to allow the user to select a logically-related set of plugins by
specifying a profile on the command line:

    # sosreport -v --batch --profile=storage

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
[apache,selinux,openshift] add OpenShift profile

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
[nfs,nfsserver,sunrpc,autofs] add NFS profile

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
[kernelrt,mrgmessg,mrggrid] add MRG profile

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
[plugins] improve plugin class docstrings

Plugin class docstrings should be a brief (42 characters or less)
description of the component the plugin supports. This is needed
since the class docstring is displayed in the table of enabled
plugins when running 'sosreport --list-plugins'.

Class docstrings should not describe the distribution a particular
class runs on; this is redundant since only plugins tagges with a
class matching the running policy will be displayed.

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
[sosreport] initial profiles support

Add simple profile support. Plugins can define a 'profiles'
attribute that contains a list of profile names that this plugin
belongs to. If a profile is given on the command line only plugins
belonging to that profile will run.

Two new command-line options are introduced in thie commit:

  --list-profiles
  --profile=NAME

Profiles can be combined with -l/--list-plugins in order to see
the effect of the profile on the set of enabled plugins.

Fixes #247.

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
[sosreport] allow --profile with -o and -n

Allow the user to fine-tune the set of enabled plugins using the
-o (--only-plugins) and -n (--skip-plugins) options. These add
and remove plugins from the set defined by the active profile(s).

Both options may be specified multiple times, or given lists of
plugins to operate on. E.g.:

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
[ssmtp] add sSMTP plugin

Fixes #395.

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>