actions: eval_expr_top() should be using subpath and not pathname

Subpath is the path rooted at the root of the destination filesystem.
It includes renames (due to name conflicts), and moves.

Pathname is the original source pathname rooted at whatever pathname(s)
were given on the command line.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
actions: fix those underscores

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
actions: fix symbolic mode parsing in the mode() action

When I implemented symbolic modes in the mode() action (i.e.
u+r-w) I made an oversight.  I didn't realise the specification
allowed multiple =-+ sequences after the ownership specification.
In otherwords if you wanted to add r (+r) and remove w (-w)
from user, I assumed you would do u+r,u-w.  After revisiting
the symbolic mode specification it turns out you should be able
to do u+r-w as a short cut to the previous specification.  It
also should be obvious I don't tend to use the symbolic mode but
directly use the octal specification!

So fix the parser to allow multiple =-+ sequences.

So the syntax of the symbolic mode support goes from

[ugoa]+[+-=]PERMS
PERMS = [rwxXst]+ or [ugo]

to

[ugoa]*[[+-=]PERMS]+
PERMS = [rwxXst]+ or [ugo]

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
action: add chmod() as a synonym for mode()

When testing the mode action, I'm always typing chmod() as
that's what it's called elsewhere.  So add chmod as a synonym, it
should probably have been called chmod in the first place.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>
action: expression logging should be using action->args

Fix display of the arguments in the action() statement.
Previously it used action->action->args which is the arg
count in the "generic" action statement, not the number of
actual arguments in the particular parsed action - i.e. the instance
rather than the definition.

For actions which take a fixed number of arguments there, obviously,
is no difference.  But for actions which take a variable number of
arguments the generic action count is "-2", and it is the
responsibility of an specific action parser helper to parse
the arguments.  In this case the discovered number of arguments
in the instance will be different to the -2 argument count in the
generic statement.

Signed-off-by: Phillip Lougher <phillip@squashfs.org.uk>