Redmine #5627: Fix two misparsings of "yum check-update" output.

Issue 1: The regex incorrectly assumed that the package name cannot
contain '.', which it can (java-1.6.0 is the name, the version comes
later). However, this makes the output format ambiguous, so switch to
spaces for separating the fields in the "rpm --qf" command.

Issue 2: "yum check-update" breaks up its output according to a 80-
column width when piping to a process. This means that an entry can
span up to three lines, one for each name-arch/version/repo. Fixed by
postprocessing the yum output in sed.

It requires a lot of effort to provoke the line-breaking yum output in
a test environment, so I opted for the slightly less foolproof method
of storing the output in a file and testing our parsing expression
with a dummy package body. This required some changes to the package
bodies in order to share this expression, but it also makes it more
centralized.

(cherry picked from commit f020162efed76d00ca6235dabb323aa63458cf6e)

Conflicts:
	lib/3.7/packages.cf
Redmine #5627: Deal with even more extra lines from "yum check-update"

yum likes to put extra lines interspersed with the actual information
we're interested in, which is the available updates. This patch fixes
a couple of cases:

  1. Do not combine multiple lines unless all subsequent lines after
     the first start with a space.
  2. Make sure we match a '.' in the first field in the package match
     so that we don't match superfluous lines like "Obsoleting
     Packages" or "Loading mirror....".
  3. Make sure the package name is at the very start of the line. yum
     sometimes puts already installed packages in the list with an
     indentation, under the "Obsoleting Packages" header.

(cherry picked from commit 72476023a94833303b3985da8595191424ee1901)

Conflicts:
	lib/3.7/packages.cf