Run distro-sync at the beginning of the update.

The spare_deps method had to double-guess what packages might still be
needed.  And it was awfully slow in many circumstances.  This is solved
by just upgrading everything early and then doing the final tweaks in a
separate transaction.
Obey runspma from distrosync.

It was running yum distrosync inconditionally, which is obviously not
what we want.

Tests are adjusted, and so is their documentation.
Adapt distrosync to the refactored yum execution.
Fix typo in a comment.
Initiate a method for sparing dependencies.

It should be faster than the previous attempts.
Fix test documentation.
Check for dependencies of packages to be installed
Purge removal candidates with reverse dependencies
Make whitespaces consistent
Spare dependencies with --requires in most cases

The --whatreq path is much slower, but it still is a good speedup for
installations, where an operator may be actually waiting for the node.
Remove unused variable.
Sort /etc/groups, fixes #55.

Ensures that the same configurations will produce identical files.  The
order of the lines used to change and triggered spurious differences.
Sort groups by line number then by name.

Existing groups will keep their position in /etc/group, and new groups
will be appended at the end of the file in a reproduceable manner.
Merge pull request #33 from piojo/spma-remove-moar-fixes

Fixes to the package removal
Merge pull request #56 from piojo/accounts-sorted

Sort /etc/groups, fixes #55.