Stash an errno value for all commands, for use by e.g. auditing modules

This PR adds two new functions to the Command API:

  int pr_cmd_set_errno(cmd_rec *cmd, int xerrno);
  int pr_cmd_get_errno(cmd_rec *cmd);

And makes sure that the errno value for failed commands is set properly.  The actual errno value itself is stored in the cmd->notes table.