fix malformed cmdlines when many options are set

Some mix of writer->erase(X,Y) ; writer->setMode(Z) ; writer->setModule(T); writer->write(U,...,V) may generate malformed cmdlines (misplaced "-execute", misplaced "-common-args", ...)
Verified with 64 combinations of parameters
X,Y,Z,T : bool
U (input file) : with or without metadatas
V (output file) : same as input (null) or write to a new file.
nb : some combinations may give "0 changes", not to be considered as an error.
todo (?) : add functional tests