sosreport: Accept commas, period and alphas in the case id

sosreport does not accept commas, period and alphas in the case
id, the patch fixes the same.

Change the ticket number field to case id as it now accepts
alpha numerals as well but maintain the '--ticket-number' option
for compatibility.

Signed-off-by: Aruna Balakrishnaiah <aruna@linux.vnet.ibm.com>
Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
[docs] improve man page descriptions of --ticket and --case-id

Signed-off-by: Bryn M. Reeves <bmr@redhat.com>
[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>
[plugins] do not truncate mangled command names

There's no reason to truncate mangled command names within an
archive. This isn't MS-DOS 3.1 and there are cases where the 64
character limit causes a loss of uniqueness and resulting name
collisions (e.g. namespaced network commands).

Fixes #388.