There is no need to check for an empty string and call StringVar or
StringVarP depending on the case, since StringVar is essentially the
same as a call to StringVarP with an empty string.
This turns 6 lines of code back into 1.
Remove the TODO comments since removing the short flags will no longer
simplify this code significantly.