MAHOUT-1636

Started out simplifying driver code and making changes to all drivers to support that. Then ran into the fat job.jar issue of MAHOUT-1636 so created a slimmed down version of the old job.jar by adding excludes to job.xml and changing the name to "dependencies.jar"

The new jar works for spark-itemsimilarity and spark-row-similarity but needs to be tested for the naive bayes drivers. 

The dependencies.jar still contains a lot of stuff from mrlegacy, some is in external projects, like jackson that can be excluded with this mechanism but also a lot of mahout code that is unneeded in this jar. This later case would require some other mechanism than a simple <exclude> clause in the assembly xml file.

I believe the new dependencies.jar is the only thing that needs to be on the classpath when running spark drivers or the spark-shell. I haven't changed this but it is a further refinement we can try.
@dlyubimov open to that argument but maybe you can explain. This allows us to add dependencies by putting them in any dependent module pom but without dealing with the assembly xml. Doing it with includes mean we have to remember to add to the module pom as well as this assembly every time. Also the excludes will only be things in the environment, I would think change seldom, even with new versions.

The reverse argument is also true. If we add new parts of spark or scala we'll have to add them to the excludes since they are already in the environment. Not sure what those would be but maybe you have some examples.