Restore ARGV even if an exception is raised
Make MPIRequirement satisfied on Xcode-only Macs

Closes #16409.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Don't attempt installation multiple times

When a dependency of a formula specified on the command-line is also
specified, *after* the dependent formula, installation proceeds as part
of the dependent's dependency tree and then is attempted again because
the user asked for it explicitly. This results in the installer raising
a CannotInstallFormulaError because it has already been installed.

For example:

  $ brew install graphviz pkg-config
  ==> Installing graphviz dependency: pkg-config
  ...
  ==> Installing graphviz
  ...
  Error: pkg-config-0.27.1 already installed

We already have a mechanism for dealing with this, but it does not kick
in early enough. Move the installation attempt check into
FormulaInstaller#check_install_sanity and catch the exception in the
appropriate places.

Fixes #16957.
shiboken: use qt-project URL
pyside: use qt-project URL
Merge branch 'master' of https://github.com/mxcl/homebrew
Merge ssh://github.com/norioxkimura/homebrew