standard Naive Bayes classifier
Refactored NaiveBayes

* Minimized shuffle output with mapPartitions.
* Reduced RDD actions from 3 to 1.
Let reduceByKey to take care of local combine

Also refactored some heavy FP code to improve readability and reduce memory footprint.
Reformatted some lines commented by Matei
Added Apache license header to NaiveBayesSuite
Response to Reynold's comments
Response to comments from Reynold, Ameet and Evan

* Arguments renamed according to Ameet's suggestion
* Using DoubleMatrix instead of Array[Double] in computation
* Removed arguments C (kinds of label) and D (dimension of feature vector) from NaiveBayes.train()
* Replaced reduceByKey with foldByKey to avoid modifying original input data
Aggregated all sample points to driver without any shuffle
Merge pull request #292 from soulmachine/naive-bayes

standard Naive Bayes classifier

Has implemented the standard Naive Bayes classifier. This is an updated version of #288, which is closed because of misoperations.