Don’t trim empty string arguments when building command

Empty string arguments are removed when building an executable command, causing problems like https://github.com/github/hub/issues/725. However, we need to remove empty string arguments constructed from the commands layer, e.g., https://github.com/github/hub/blob/master/commands/browse.go#L112. We fix it by moving the removal logic to `Args.ToCmd`.

 The Args file is a bit of a mess now. I already have a better design in mind. Will do that in another PR.