cat-gen: Fixes to the catalog diffing function

The function was incomplete.

git-svn-id: svn+ssh://svn.code.sf.net/p/gar/code/csw/mgar/gar/v2@23239 d3b55034-1cff-0310-a425-aefe953e1e90
cat-gen: rm "catalog" and "descriptions" on empty

When the catalog is empty, all .pkg and .pkg.gz files are unlinked. To
accompany that, let's delete the "catalog" and "description" files.
Therefore, an empty catalog is represented by a missing catalog and
description files.

This is compatible with chkcat behavior which throws an error on a
signed but empty catalog file: no file to check, no error.

git-svn-id: svn+ssh://svn.code.sf.net/p/gar/code/csw/mgar/gar/v2@23245 d3b55034-1cff-0310-a425-aefe953e1e90
checkpkg: Don't display the password message

It shows up on every checkpkg run. Let's hide this message and only display it
in the debug mode.

git-svn-id: svn+ssh://svn.code.sf.net/p/gar/code/csw/mgar/gar/v2@23246 d3b55034-1cff-0310-a425-aefe953e1e90
cat-gen: Catalog comparison logic fix

It's one small line for the text editor, but has large logic implications for
the generator.

This would have not happened if I could run unit tests.

I could run unit tests if I had the unit test runner: the "go" command.

I could have the "go" command if it built on Solaris.

But it doesn't.

git-svn-id: svn+ssh://svn.code.sf.net/p/gar/code/csw/mgar/gar/v2@23254 d3b55034-1cff-0310-a425-aefe953e1e90
cat-gen: Error handling for JSON decode errors

If we can't decode JSON, it's better to die rather than return an empty
catalog with no error.

git-svn-id: svn+ssh://svn.code.sf.net/p/gar/code/csw/mgar/gar/v2@23264 d3b55034-1cff-0310-a425-aefe953e1e90