General update

- Generation of matrix variates now follows Distributions.jl's abstract style
  - Matrix distributions are declared as abstract types
  - rand() generates dense matrix variates
  - bidrand(), tridrand(), sprand() generate bidiagonal, tridiagonal and general sparse variates
  - eigvalrand(), eigvaljpdf() generate random eigenvalue sets and calculate their joint pdf
- Remove old fudges to generate full matrices to work around lack of bidiagonal support in pre-0.2 Julia
- Remove obsolete custom extensions to Distributions.jl
- Retab to 2 space indent
- Make GSL dependency optional
General update

- Generation of matrix variates now follows Distributions.jl's abstract style
- Matrix distributions are declared as abstract types
- rand() generates dense matrix variates
- bidrand(), tridrand(), sprand() generate bidiagonal, tridiagonal and general sparse variates
- eigvalrand(), eigvaljpdf() generate random eigenvalue sets and calculate their joint pdf
- Remove old fudges to generate full matrices to work around lack of bidiagonal support in pre-0.2 Julia
- Remove obsolete custom extensions to Distributions.jl
- Retab to 2 space indent
- Make GSL dependency optional