Make metapackages generate noarch RPMs

No metapackages contain any architecture-specific information, so we can mark them as "noarch" packages. This means that the generated package is installable on any architecture system, and theoretically eliminates the need to generate the RPM for more than one arch.

The current buildfarm infrastructure will not be able to take advantage of this, mainly because non-metapackages can depend on metapackages, and if the package is noarch, it could trigger rebuild of arches other than the one that triggered it to build. This is really a buildfarm issue, and isn't worth discussing here.

Another key advantage of noarch RPMs is that they don't generate a debuginfo package, as there are no symbols associated with any of their contents (if there are symbols, it is not noarch...two way implication).

Right now, I determine if a package is noarch by looking at if it is a metapackage. Are there any additional reasons that a package would certainly not contain any arch-specific code? Could/Should a flag be added to the `package.xml` for indicating that your package is not architecture-specific? This would include any python-exclusive packages, so it would likely be a large part of ROS.

This PR is ready to be merged, but I'm still looking for further thoughts...

Thanks!

--scott