Merged from upstream/master
Merged from upstream/master
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.
Removed empty diag test (refactored into LinearAlgebraTest)
Returned math/build.sbt to original state. Note that I had issues publishing (locally) due to an error in packageDoc for the Sorting class.
Returned CSCMatrix constructor to private[linalg], added new alternate constructor publicly
Merge pull request #274 from gabeos/feature/reshapeUFunc

Reshape UFunc + Matrix.flatten + some implicits