[MLLIB] SPARK-2329 Add multi-label evaluation metrics

Implementation of various multi-label classification measures, including: Hamming-loss, strict and default Accuracy, macro-averaged Precision, Recall and F1-measure based on documents and labels, micro-averaged measures: https://issues.apache.org/jira/browse/SPARK-2329

Multi-class measures are currently in the following pull request: https://github.com/apache/spark/pull/1155
@mengxr Can we have `RDD[(java.util.HashSet[Double], java.util.HashSet[Double])]` as an optional constructor? Internally, we will use `scala.collection.JavaConversions.asScalaSet`.