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
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)
Update $(DESTDIR)$(PREFIX) in comments

--- we always install to PREFIX/etc.
+++ we always install to $(DESTDIR)$(PREFIX)/etc.
Translate Givens rotations from LAPACK to Julia.
expm: fixed rescaling
Add Givens and Rotation types.
Implementation of deleteat!
Refactor splice!, delete!