Merge branch 'feature/reshapeUFunc' into devel

* feature/reshapeUFunc:
  Returned CSCMatrix constructor to private[linalg], added new alternate constructor publicly
  Returned math/build.sbt to original state. Note that I had issues publishing (locally) due to an error in packageDoc for the Sorting class.
  Removed empty diag test (refactored into LinearAlgebraTest)
  Added reshape function to work with DV/DM/SV/CSC. Also added 'flatten' to Matrix. Ended up not really needing this for Nak/NCA, but it might be useful to someone. Unfortunately this required ClassTags *everywhere*. Unsure whether this is best way to make flatten a generic operation. Perhaps UFunc would be better.
Merge branch 'master' into devel

* master:
  removed a scaladoc comment
another benchmark
Created MetropolisHastings class in MCMC package.
helpful comment
this is currently unused.
oops
add test with work, to demonstrate threading speedup.
unnecessary
dn't need a uniform dist, just use the randbasis.
Added AffineStepMetropolisHastings case class.
added comment to stat tracking
simplify threaded mcmc
unnecessary
Working VectorSpace refactoring with Modules and VectorFields :)
implemented trapezoid and Simpson integrals
renamed breeze.{integration => integrate}
renamed integration coroutines
deleted unused code
renamed classes