DLLEXPORTs for the profiler
Fix #3804, #3808
Also add rand(Float64, ...) and rand(Float32, ...)
Add additional like_pipe method for #3823
Add TTY(RawFD) for non-STDIO tty's

Also add the necessary c functions to extract the FD/Handle from a pipe object. These aren't used anywhere, but will be helpful for #3823
Added HeapSort

* Also minor updates to percolate_up, percolate_down, PriorityQueue
fix for 5975d2369d87aeae9d910ccaae82844eb951e915
fix crash in gc due to uninitialized memory in connect
inline the Union function
Partially revert "Add TTY(RawFD) for non-STDIO tty's"

This reverts the unrelated parts of commit
da00fa4d4867bfacc61b176f8a173393c251f283, which are broken on windows and
probably a generally bad idea on unix.
Merge pull request #3824 from kmsquire/heapsort

RFC: HeapSort
fix #3818
slight refactoring of show_backtrace to allow it to be used outside the REPL
rm redundant ptrint_t typedef
add licenses, for libraries bundled with windows dist, to LICENSE.md
signal_stack doesn't apply to windows. fix #3816
cleanup some stack walking code
fix for missing libunwind header in julia.h
attempt fix again for missing libunwind header
`@allocated`: back to version that uses a thunk.

This attempts to avoid allocation by wrapping the expression to be
called in a thunk. This is somewhat unsatisfactory, however:

  - the code does not behave as it would in the current context
  - compilation may still occur during function execution

Still, this seems to make @timholy happier :-)
Added interrupt_workers