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
Deleted py4j jar and added to assembly dependency
Removed sbt folder and changed docs accordingly
ignoring tests for now, contrary to what I assumed these tests make sense given what they are testing.
Removed a repeated test and changed tests to not use uncommons jar
Suggested small changes to Java code for slightly more standard style, encapsulation and in some cases performance
Merge branch 'master' into spark-1002-remove-jars
Modify spark on yarn to create SparkConf process
Modify spark on yarn to create SparkConf process
merge upstream/master
fixed review comments
Restored the previously removed test
Merge pull request #325 from witgo/master

Modify spark on yarn to create SparkConf process