add the ability to specify the address of a native function as a finalizer
the advantage of this is that we know no julia code runs, so it is safe to
free the underlying object immediately, rather than waiting for another GC
cycle to be sure no references to the object were added.

this is specifically designed for BigInt and BigFloat, which get faster and
use less memory with this change (helps #4169)
Merge branch 'master' of github.com:JuliaLang/julia into jb/nativefinalizers
Adds random number generation for BigInts from GMP
Refactor BigInt RNG
Add a default BigRNG and the standard interface to seed BigRNGs
Add BigFloat random number generation
Improved support for random BigInt ranges

This means that ranges between numbers bigger than `typemax(Int)` work
now, but range lengths are still limited to up to `typemax(Int)`.
Add normally-distributed BigFloats generation
srand() now seeds both RNGs
Use `shasum` instead of `sha1sum` in OS X

OS X doesn't have `sha1sum` available, so the fallback used to get
the initial seed whenever /dev/urandom isn't available doesn't work.
Add documentation to the BigRNG
generalize writedlm to iterable arguments and arbitrary delimeters
Some work to make libjulia compilable on windows using the Intel compiler
Revert the wrong uv_errno_t changes
Use alloca where VLAs where originally used
Fix DLLEXPORT macro on windows so that the default is import
moved inttype.h include below platform.h include
add WINAPI again
Update Makefile

1. Preserve the timestamp by replacing cp with install -p
2. Restrict file permissions by install -m
mkdir -p $(DESTDIR)$(SYSCONFDIR)

mkdir -p $(DESTDIR)$(SYSCONFDIR)