Allow command line options to be specified in any order, even before the command name. Eg. we now allow "svnmerge -r123 merge" which was forbidden before.
Allow command line options to be specified in any order, even before the
command name. Eg. we now allow "svnmerge -r123 merge" which was forbidden
before.

* contrib/client-side/svnmerge.py:
  (CommandOpts._fancy_getopt): Split out functionalities into...
  (CommandOpts._compute_flags): New.
  (CommandOpts._extract_command): New.
  (CommandOpts.parse): First extract command name, then validate the options.
  Rename "opts" to "state" for improved readability.


git-svn-id: f8a4e5e023278da1e04e203c7fe051e3c4285d88@858087 13f79535-47bb-0310-9956-ffa450edef68

wbond/subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,wbond/subversion,YueLinHo/Subversion,wbond/subversion,wbond/subversion,wbond/subversion,YueLinHo/Subversion,YueLinHo/Subversion,YueLinHo/Subversion,wbond/subversion,wbond/subversion