Refactored MLlib tests to run different Spark builds for the same algorithm

The MLlib tests were separated into different sub-projects in order to build old MLlib algorithms with older Spark builds in order to test for regression. The build is tricky and some comments are under mllib-tests/project/Build.scala
It might be worth adding comments to classes like RandomRDD that have been backported from 1.1.0.