Replace long conditional with guard clauses
Use each instead of while loop
Correct comment
Keg should link symlinks directly.

If the `src` in the Cellar of a formula is a symlink to another dir
in the same Cellar (for example `Frameworks/QtGui.framework` is a
symlink to `lib/QtGui.framework`), then we should make a symlink
directly instead of possibly creating an empty dir.

This is needed because Ruby's `find` does not follow symlinks (newer
versions can, but we have to support 10.8 for a long time).

Currently this probably only occurs for Qt, where we put symlinks
into the Cellar/Frameworks and the frameworks linking code is a bit
special to create a directory to "merge" together different versions
of the same framework from different formulae. See `python` and
`python3`; both install `Python.framework` and only one can be the
`Current` but the other should still be put into
`Python.framework/Versions`. Therefore `Python.framework` has to
be a dir and no symlink.
Boost: enforce '--with-mpi' with '--without-single'

* Building MPI support for both single and multi-threaded flavors will
  result in duplicated rules for mpi.so.  Upstream bug report
  https://svn.boost.org/trac/boost/ticket/8841.
* Require '--with-mpi' be used together with '--without-single' until
  this is fixed.
brew reinstall: Reuse options from last time

Now, we can finally stop stuggesting to
    `brew rm <foo>` and then `brew install <foo> <with-your-preferred options>

So `brew reinstall` will honor all options that have been recorded
into the INSTALL_RECEIPT.json plus if `--build-bottle` was used.
Unlinked brewed python -> use system python

Up to now a brewed Python, even if not linked, was preferred over
and external Python, so that you had to completely `brew rm python`
to have a formula link against external (mostly system) Python.

From now on it is okay to `brew unlink python`.
unpack: ensure $VERBOSE is restored
unpack: remove dead code
unpack: use ARGV.value