Avoid "ambiguous option" when only current/deprecated forms match

argparse.ArgumentParser allows to specify partially options:

  nova boot ... --key-nam mykey
  # is equivalent to
  nova boot ... --key-name mykey

an error is raised if the provided prefix matchs 0 or 2+ options:

  nova boot ... --os value
  # raises an "ambiguous option" error because --os could match
  # --os-username, --os_username ...

even if the provided prefix matchs only the current/deprecated
forms of the same attribute:

  nova boot ... --key mykey
  # raises an "ambiguous option" error because --key could match
  # --my-key, --my_key ...

This change extends argparse.ArgumentParser to avoid raising an
"ambiguous option" when the provided prefix matchs only the current and
deprecated forms of the same attribute.

Change-Id: I1089901de769df3312d4a15b6d6e5e60b1ed51e0
Updated from global requirements

Change-Id: I7ef8410576abe82bb1b5a0dda983ad103c688509
Merge "Avoid "ambiguous option" when only current/deprecated forms match"
Merge "Updated from global requirements"