zpm: warn if a bundling/ui glob matches nothing

In the zapp.yaml, files can be selected for bundling by specifying lists
of files or glob patterns in the "bundling" or "ui" section.

If a file doesn't exist or if the pattern matches nothing, we now log a
warning. This probably means the user has done something wrong.

Cram tests are also updated, with warnings printed to the console for
missing files/bad globs.
zpm: (bundle) keep count of files added to tar
zpm: raise an error if no files were added to tar

If no files were added to the zapp/tar (aside from the zapp.yaml),
probably it means that the "bundling" or "ui" patterns are wrong in some
way. This results in basically an empty zapp, which is not very useful.

This involved refactoring the bundling code a bit, and the ordering of
file adds has changed. This warranted updating cram tests as well.