title: Sort argparse help alphabetically
body: <p>I am using Python's (2.7) argparse facility and would like to automatically sort the help it produces alphabetically by option. </p>
  
  <p>By default help entries are sorted in the order they are added*, as in:</p>
  
  <pre><code>p = argparse.ArgumentParser(description='Load duration curves and other plots')
  p.add_argument('--first', '-f', type=int, default=1, help='First Hour')
  p.add_argument('--dur', '-d', type=int, default=-1, help='Duration in Hours. Use -1 for all')
  p.add_argument('--title', '-t', help='Plot Title (for all plots), default=file name')
  p.add_argument('--interp', '-i', action="store_true", default=True, 
                  help='Use linear interpolation for smoother curves')
  ...
  args = p.parse_args()
  </code></pre>
  
  <p>Which when called as <code>python script -h</code> produces:</p>
  
  <pre><code>usage: script.py [-h] [--first FIRST] [--dur DUR] [--title TITLE] [--interp]
  
  Load duration curves and other plots
  
  optional arguments:
    -h, --help            show this help message and exit
    --first FIRST, -f FIRST
                          First Hour
    --dur DUR, -d DUR     Duration in Hours. Use -1 for all
    --title TITLE, -t TITLE
                          Plot Title (for all plots), default=file name
    --interp, -i          Use linear interpolation for smoother curves
  </code></pre>
  
  <p>Is it possible to automatically sort them alphabetically instead? This would be dur, first, h, interp, title.</p>
  
  <p>*Obviously the work around is to manually maintain by adding entries using p.add_argument in  alphabetical added order but I am trying to avoid doing so.</p>