Add Hash Function For Set
Add realpath for Windows

Fixes #4446
Add 2nd try if the 1st buffer is too small.
Add Test For Set Hashing
add vectorized ifelse functions
fix #4581
Merge pull request #4582 from lindahua/dh/ifelse

add vectorized ifelse functions
Merge pull request #4573 from karbarcca/patch-3

Add realpath for Windows
fix #4584
close #4585
add missing fallback method for rsearch. ref #4586
extend isascii() to strings like other character predicates. ref #4586
remove inbounds from fasta benchmark
Bandaid for #4592, perhaps fixing #4311
Pkg: explicitly detect unknown required packages

Addresses #4049
Pkg: improve "incompatible with fixed" analysis

Addresses #4049

Keeps track of what fixed packages determined the removal
of some package; uses that information in case one of the
required packages was removed in this way.

Also, recursively remove packages from the available list,
i.e. when a fixed package determines the removal of an available
package because its requirements can't be satisfied, then also all
other packages whose requirements can't be satisfied because of this
removal are themselves removed, and so on. (In case of the error
mentioned above, the blame still goes to the fixed packages.)
Pkg: explicitly early requirements check

Addresses #4049

If fixed packages have conflicting requirements, provide
a detailed error message.
Pkg: deepcopy reqs, define it for VersionSets

We need to explicitly copy the Vector inside
VersionSets since it's immutable.
Pkg: code cosmetics
fix some cases where Unreachable needed to be propagated in codegen

specifically, where an error-throwing expression was passed to an intrinsic