title: Python argparse required=True but --version functionality?
body: <p>In all my scripts I use the standard flags <code>--help</code> and <code>--version</code>, however I cannot seem to figure out how to make a <code>--version</code> with <code>parser.add_argument(..., required=True)</code>.</p>
  
  <pre><code>import sys, os, argparse
  
  parser = argparse.ArgumentParser(description='How to get --version to work?')
  
  parser.add_argument('--version', action='store_true', 
                      help='print version information')
  parser.add_argument('-H', '--hostname', dest='hostname', required=True, 
                      help='Host name, IP Address')
  parser.add_argument('-d', '--database', dest='database', required=True,
                      help='Check database with indicated name')
  parser.add_argument('-u', '--username', dest='username', required=True, 
                      help='connect using the indicated username')
  parser.add_argument('-p', '--password', dest='password', required=True, 
                      help='use the password to authenticate the connection')
  
  args = parser.parse_args()
  
  if args.version == True:
      print 'Version information here'
  
  $ ./arg.py  --version 
  usage: arg.py [-h] [--version] -H HOSTNAME -d DATABASE -u USERNAME -p PASSWORD 
  arg.py: error: argument -H/--hostname is required
  </code></pre>
  
  <p>Yes, I want <code>--hostname</code> <em>and others</em> required, but I <em>always</em> want <code>--version</code> to work appropriately like <code>--help</code> (and <code>-h</code>).</p>
  
  <pre><code>$ ./arg.py  --help   
  usage: arg.py [-h] [--version] -H HOSTNAME -d DATABASE -u USERNAME -p PASSWORD
  
  How to get --version to work?
  
  optional arguments:
    -h, --help            show this help message and exit
    --version             print version information
    -H HOSTNAME, --hostname HOSTNAME
                          Host name, IP Address
    -d DATABASE, --database DATABASE
                          Check database with indicated name
    -u USERNAME, --username USERNAME
                          connect using the indicated username
    -p PASSWORD, --password PASSWORD
                          use the password to authenticate the connection
  </code></pre>
  
  <p>Any help on getting <code>--version</code> to work?</p>