Refactor how getFlatPackageInfo runs xar

Based on reports of failures when creating pkginfos from certain flat packages (from anecdotal reports, those created by WhiteBox' Packages) it was determined that in those cases getFlatPackageInfo will fail due to xar extraction errors with one or more files in the flat package. Since getFlatPackageInfo only processes the Distribution or PackageInfo file(s) in the flat package it makes sense to only extract those files from the flat package. While the xar extract command may still fail when extracting a Distribution or PackageInfo file, it should reduce overall failure rates. As an additional benefit this should also speed up overall makepkginfo speed by not having to extract flat packages in their entirety.
This reverses the logic of the original, where we look for a PackageInfo file at the top level first, then look for a Distribution file. I'm not sure it really makes any difference, but I don't have the time to do the in-depth testing to determine if it does or doesn't. Could we adjust the logic here to match the original?