libc bindings for glob.h

only tested on linux/x86_64, but i got the values for other platforms
from their system header files.

no bindings for win32, because win32 doesn't include glob.h.

also, glob() takes a callback for error handling, but i'm just making
this a *c_void for now, since i don't know how to represent c calling
back into rust (if that's even currently possible).
add a higher level glob() function to os

this could probably use expansion - it just uses all of the default
options, which is usually what we want, but not always. maybe add a
separate function that takes more options?
glob_t should be public on all platforms
libcore: add N(0,1) and Exp(1) distributions to core::rand.

Sample from the normal and exponential distributions using the Ziggurat
algorithm.
auto merge of #6161 : graydon/rust/glob-retry, r=graydon

This is a retry of pull #5832
auto merge of #6162 : graydon/rust/random-retry, r=graydon

Sample from the normal and exponential distributions using the Ziggurat
algorithm.
libcore: Make `ChainIterator` take two different-typed `Iterator`s.