Fix #5218, Compile age in banner

After static compillation of base Julia was implemented, the startup
banner showed the age of the newest commit in (origin/)master at the
time of compillation, instead of at startup time. This commit moves the
age calculation into the Base.banner() function, and moves the function
from base/client.jl to base/version.jl in order to have access to the
right variables.

This is updated after @staticfloat suggestion to copy all the logic into
the banner() function
Add Sys.shlib_ext removal reminder to deprecated.jl
move reducedim related stuff to a separate file
move reducedim codes from array.jl to reducedim.jl
Fix \{A::Triangular,b} test

Change condition number computation to use Inf-norm to be consistent
with new error bound.
Merge pull request #5281 from ivarne/splash-fix

Fix #5218, Compile age in banner
fix #5274, syntax error for overflow in numeric literals
add file names to do blocks. fixes #5273
also check Float32 literals for overflow. ref #5274
Change complex dot to use cblas to avoid problem with complex return type
recreate PCRE info after startup (lazy), to avoid depending on the libpcre version
fix Float16 inf and nan testing. ref #5290

correct help for frexp
Merge pull request #5066 from JuliaLang/jn/lazy_regex

avoid depending on the libpcre version
gc pcre regex_compile data
update packages list
more efficient implementation of reduced_dims
Merge pull request #5291 from JuliaLang/anj/dotu

Change complex dot to use cblas to avoid problem with complex return type
fix isless and cmp/lexcmp for floating point

for now cmp() uses the total ordering, but we might change it to give a
DomainError for NaN arguments
make nextfloat/prevfloat saturate at Inf, as per the IEEE standard

ref #5290
test/euler.jl: slightly faster euler #4 algorithm