Only track C++ stdlibs for C++ code

After a formula is built, scan all mach-o files for dynamic links
to see if any of them point to a C++ stdlib (libc++ or libstdc++).
If one of them is linked, record that information in the formula's tab.

This replaces the old behaviour where all files were assumed to be C++
code, and stdlibs were always tracked regardless of whether they were
actually linked against.

This also modifies the way that tabs are written - now tabs are written
with the stdlib field null, and values are only written if an stdlib
is detected.
CxxStdlib: allow for nil stdlibs

A nil stdlib value represents non-C++ code.
Track the OS's default C++ stdlib
build: fix typo
cfitsio: use HTTP URL instead of FTP

The NASA HEASARC FTP server is currently not responding via FTP, but
allows HTTP indexes and downloads. SHA1 matches and doesn't need to
changed. The directy index is linked to from
http://heasarc.gsfc.nasa.gov/docs/software/fitsio/fitsio.html

Fixes #23049.
Closes #23085.

Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
newlisp 10.5.4

Closes #23086.

Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
maven: 3.1.1

Closes #23084.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Tab.dummy_tab: don't provide default stdlib value
formula_installer: change default bottle CxxStdlib
Tab#cxxstdlib: remove default stdlib

Fixes #23089.
Tab#cxxstdlib: don't try to convert nil to_sym
Fix test failure for C++ stdlib.
Merge remote-tracking branch 'upstream/master'