Added standard macro guard. In case __GNUC_VA_LIST was not
defined or defined identically before there will not be any
change in functionality.

MinGW-w64 defines __GNUC_VA_LIST as

  #define __GNUC_VA_LIST

which is different than the definition here, causing
a warning without the guard.
Also document the 'arc commit' commands in the 'Committing a change' section of the Phabricator doc