matcher: don't assume the first node in a command is a WordNode

Previously we took the first node of a CommandNode and treated it as the
command name, but it's possible for it to be something else (e.g. a RedirectNode).

Now we look for the first node that is a WordNode.
views: log command string that caused uncaught exceptions to ease debugging