Switch to autodetected package root if needed

If this isn't done then the lockfile will be misplaced during
building, and could both be included into the package itself, and
be ignored by other lixuzctl instances.
Added a templates section for commands

Moved the plumbing commands templateinject templateremove and templatelist
to the templates section. currentSupportedApiLevel bumped to 5 due to
the removed plumbing commands (compatibility for the old commands are
still intact for now).
Allow template and tpl to be used in place of templates
Schema serialization accuracy improved

Also added a schema helper to avoid use of $c in some cases
Return an arrayref or array as required
Don't require formbuilder for the list role
Added a utilities section to lixuzctl

Adds categorytree and foldertree commands that assist in visualizing
the various tree structures. Also added a children relationship
to lz_category to make it easier to iterate over them.
Preserve file permissions of packages

Bumps packageFormatRevision to 2 and considers files to differ if
their permissions are different (even if their content is identical).
Add 'no warnings' to generated triggers.pl files

This lets them validate when checking the syntax with 'perl -c -W'
Note which module to use instead of this one
Fixed default formatRevision for new meta files
Added a GITREVISION placeholder for package versions
Display all unsatisfied deps before exiting