title: Python argparse REMAINDER is not clear
body: <p>As documentation suggests:</p>
  
  <blockquote>
    <p>argparse.REMAINDER. All the remaining command-line arguments are gathered into a list. This is commonly useful for command line utilities that dispatch to other command line utilities:</p>
  </blockquote>
  
  <pre><code>&gt;&gt;&gt; parser = argparse.ArgumentParser(prog='PROG')
  &gt;&gt;&gt; parser.add_argument('--foo')
  &gt;&gt;&gt; parser.add_argument('command')
  &gt;&gt;&gt; parser.add_argument('args', nargs=argparse.REMAINDER)
  &gt;&gt;&gt; print parser.parse_args('--foo B cmd --arg1 XX ZZ'.split())
  Namespace(args=['--arg1', 'XX', 'ZZ'], command='cmd', foo='B')
  </code></pre>
  
  <p>I tried to use this to exactly the same purpose, but in some circumstances it seems buggy for me <em>(or perhaps I get the concept wrong)</em>:</p>
  
  <pre><code>import argparse
  
  a = argparse.ArgumentParser()
  
  a.add_argument('-qa', nargs='?')
  a.add_argument('-qb', nargs='?')
  a.add_argument('rest', nargs=argparse.REMAINDER)
  
  a.parse_args('-qa test ./otherutil bar -q atr'.split())
  </code></pre>
  
  <p>Result:</p>
  
  <pre><code>test.py: error: ambiguous option: -q could match -qa, -qb
  </code></pre>
  
  <p>So apparently, if the <code>otherutil</code> has such arguments which somehow "collide" with the arguments given to <code>argparse</code>, it doesn't seem to work correctly.</p>
  
  <p>I would expect when <code>argparse</code> reaches the <code>REMAINDER</code> kind of argument, it just uses up all the strings in the end of the list without any further parsing. Can I reach this effect somehow?</p>