Implement expr|expression -f|-file <filename>

This command does not include file completion.  The problem I
encountered here is that the completion command must be registered in
the code when the command is created.  Depending on the nature of
the expr command we may not want filename completion (ie, expr
printf("foo<TAB would provide incorrect results.)

I tried to write a custom completer function that just returns
filename_completer when it detects an -f flag, but weirdly, the
preprocessed readline buffer differs from "true" filename completion
(IE "normal" filename completions with commands like source get
text="/home/fo", word = "/home/fo".  But if I return a
filename_completer with "home/fo" dynamically (ie from a
jit_completer), the jit_completers arguments from readline are:
text="/home/fo", word="fo".  Not sure why this is the case.