Move Tab creation into build process

The parent process doesn't have access to the selected compiler, which
will be important in the next commit.

Fortunately the child process already has a filtered and massaged
ARGV, so it has enough information to build the tab itself.
Tab: track C++ stdlib in use

There are subtle incompatibilities between Apple's libstdc++ and the
libstdc++ used by the various GNU GCC formulae. In addition, we'll
likely also be supporting libc++ in the future, and that's also
incompatible with the other stdlibs.

Tracking it in the tab lets us make sure that dependencies are all
built against the same stdlib to avoid subtle breakage.
Check dependencies for a compatible C++ stdlib

There are now a few possible C++ standard libraries a given build could
be using, with subtle incompatibilities and possibility of breakage
when mixed. This makes sure that the dependency chain was compiled in
a compatible manner.

Fortunately all of the Apple compilers use the same libstdc++, and we
don't yet support building with libc++, so this will primarily only
nag users trying to use GNU gcc who already have software installed
with Apple compilers.

Future TODOs:

* Add general support for building with libc++ (compatibility checking
  already handled here)
* Possibly track formulae which actually build C++ bindings, so that
  users aren't bothered by spurious nagging re: interpreted languages,
  pure-C software, etc.
Document --cc= for non-Apple compilers
freetype 2.5.0.1
ruby-build 20130901

Closes #22246.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Remove HOMEBREW_CC warning from ENV.compiler

ENV.compiler is called outside setting up the build environment, where
values unsupported for user input might have been specified - for
example, GNU GCC executables.
CompilerFailure: specify attr_rw for version
Remove attr_rw for CompilerFailure version attribute

This reverts commit 7db9ef9650a44ef8155bf66efd88703e580057b0.
Formula: record full path to non-core formula

If a formula is passed with a relative path, the build process might
try to expand it in the wrong directory, where it doesn't exist.

Fixes #22266.
libvirt 1.1.2

Closes #22262.
Closes #22269.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
ack 2.08

Closes #22214.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Fix various Python import tests.
dart 26639

Closes #22261.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
play devel 2.2.0-RC1

Closes #22270.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
juise 0.5.8

Closes #22251.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
libslax 0.16.18

Closes #22252.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
juise: remove redundant comment
rbenv-gemset 0.4.0

Closes #22254.
fb-client 1.3.0

Closes #22272.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>