Add missing tree.h on windows and use STATIC_EXPORT in bitvector

Both changes are required for making julia.h usable under MSVC
Add a specific error message for PCRE conflicts

When a different PCRE library is loaded than that which the stdlib
was compiled against, the compiled regular expressions may fail.
This compares the version strings of the compiled and loaded libpcre
and if different aborts (similar to how Julia will abort with BLAS error)
Fix sparse matrix printing.
Faster sparse kron. Fix #4958
sparse kron tests.
document apply, fixes #4961

bikeshed performance tip on column-major ordering
Merge pull request #4954 from tknopp/includeTreeH

Add missing tree.h on windows and use STATIC_EXPORT in bit vector (see #4937)
Use @inbounds in sparse kron.
Merge pull request #4959 from mbauman/pcre_error_message

Add a specific error message for PCRE conflicts
Add sparse kron improvements to NEWS.
Add error checking to Amos package-based Airy and Bessel methods. Correct # arguments in ccall to :zbiry.

RFC: As currently implemented, the new optional arguments are accepted only by methods that call
Amos routines.  So, e.g., a call like besselj0(1+0im, ignore_errors=false) works fine, but
besselj0(1, ignore_errors=false) will result in a Julia error:

    ERROR: no method besselj0(Array{Any,1}, Int64)

We could instead choose to allow the optional arguments to be accepted in all calls to Bessel
functions, but for Bessel functions of the first and second kind of integer order called
with real arguments they would not have any effect.

Another option is to completely eliminate the optional arguments and simply take the current default
behavior in all cases.