MAHOUT-1493 Port Naive Bayes to Spark DSL (for review)

Created this PR to review the patch provided by Christoph Viebig and team, Students of TU, Berlin.  It is based on Sebastian's code from before the DSL was abstracted away from Spark. 
if imports are properly done, this should just be 

     val weightsPerLabelAndFeature = dense(observationsPerLabel.map(_.colSums))

Note that this is not Spark-dependent code. the `map` here is Scala collection map.