title: argparse.ArgumentParser ArgumentError when adding arguments in multiple modules
body: <p>I am working on automated test framework (using pytest) to test multiple flavors of an application. The test framework should be able to parse common   (to all flavors) command line args and args specific to a flavor.
  Here is how the code looks like:</p>
  
  <p>parent.py:</p>
  
  <pre><code>import argparse
  ARGS = None
  PARSER = argparse.ArgumentParser()
  PARSER.add_argument('--arg1', default='arg1', type=str, help='test arg1')
  PARSER.add_argument('--arg2', default='arg2', type=str, help='test arg2')
  
  def get_args():
      global ARGS
      if not ARGS:
          ARGS = PARSER.parse_args()
      return ARGS
  </code></pre>
  
  <p>MainScript.py:</p>
  
  <pre><code>import pytest
  from parent import PARSER
  
  ARGS = None
  PARSER.conflict_handler = "resolve"
  PARSER.add_argument('--arg3', default='arg3', type=str)
  
  
  def get_args():
      global ARGS
      if not ARGS:
          ARGS = PARSER.parse_args()
      return ARGS
  
  get_args()
  
  
  def main():
      pytest.main(['./Test_Cases.py', '-v'])
  
  if __name__ == "__main__":
      main()
  </code></pre>
  
  <p>Test_Cases.py</p>
  
  <pre><code>from MainScript import get_args
  
  ARGS = get_args()
  
  
  def test_case_one():
      pass
  </code></pre>
  
  <p>Executing MainScript.py fails with following error:</p>
  
  <p>E   ArgumentError: argument --arg3: conflicting option string(s): --arg3</p>