Make GSL random distributions initialize with the sage random state functions

This means that Sage's randstate set_random_seed function will make the
GSL distributions also be predictable (for doctests, random matrices, etc.)
Delete #random on some matrix constructor doctests that now depend on Sage's random state
Update to gcc-4.8.3, add OSX 10.10 patch
Update to gcc 4.9.1
Update documentation that we need a C++ compiler
Check for C++ compiler
Look at C++ compiler to decide whether to install gcc
Evil workaround for broken OSX system header
Merge branch 'develop' into t/15887/ticket/15887
Conflicts:
	src/sage/gsl/probability_distribution.pyx
Fix output precision.
trac #16920: Merged with updated #16559
trac #16922: find_brouwer_van_rees_with_one_truncated_column
trac #16922: big optim. + small optim. + doctest
trac #16922: rewrite multiple (new name int_as_sum)
Change the max seed to 2^31.
Fix doctests for new random output.
Trac #15887: Make GSL random distributions seed from Sage's random state

GSL's random state currently seeds from python's random state, not from
Sage's random state.  These changes make it so that Sage's
set_random_seed() function
affects the GSL distributions.

This fixes #15090 as well.

URL: http://trac.sagemath.org/15887
Reported by: jason
Ticket author(s): Jason Grout
Reviewer(s): Andrey Novoseltsev
Trac #16922: find_brouwer_van_rees_with_one_truncated_column

Here is what we have been waiting for. Removes a lot of '-', but in
parts of the table that we do not see `:-P`

URL: http://trac.sagemath.org/16922
Reported by: ncohen
Ticket author(s): Nathann Cohen
Reviewer(s): Vincent Delecroix
TEST Trac #17169: Upgrade to GCC 4.9.1