cat-gen: Create a Go code workspace

As described in http://golang.org/doc/code.html

It will allow to start splitting the code into modules and writing unit tests.

git-svn-id: svn+ssh://svn.code.sf.net/p/gar/code/csw/mgar/gar/v2@23268 d3b55034-1cff-0310-a425-aefe953e1e90
cat-gen: Moved functionality to a package

First steps to split the code in smaller chunks.

git-svn-id: svn+ssh://svn.code.sf.net/p/gar/code/csw/mgar/gar/v2@23269 d3b55034-1cff-0310-a425-aefe953e1e90
cat-gen: Check for catalog with missing deps

This should catch some of the problems we've recently observed.

This change catches problems with the catalog before we generate the catalog.
This way we avoid the problem in which we halt all catalog generation because
of one failed catalog.

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

This check can fire if you run sparc+intel builds in parallel and have
arch=all packages in your set. When that happens, checkpkg is first asked to
examine a file with content X, but later the same filename contains content B,
because mgar running on the other architecture overwrote it.

git-svn-id: svn+ssh://svn.code.sf.net/p/gar/code/csw/mgar/gar/v2@23271 d3b55034-1cff-0310-a425-aefe953e1e90
checkpkg: Better error message formatting

The single quotes are not necessary.

Dedicated to lblume.

git-svn-id: svn+ssh://svn.code.sf.net/p/gar/code/csw/mgar/gar/v2@23272 d3b55034-1cff-0310-a425-aefe953e1e90
cat-gen: Hack the Makefile to compile

Looks like there are differences in how gccgo looks for packages in comparison
to the mainstream go command. I used truss to see where gccgo looks for the
binary object and I symlinked the needed one. This is probably not the best
way to do it, but all the information I could find on stack overflow would
advice me to use the "go" command which we do not have and will not have until
someone ports it.

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