MAHOUT-1615: drmFromHDFS returning the same Key for all Key,Vec Pairs for Text-Keyed SequenceFiles

SparkContext.sequenceFile(...) will yield the same key per partition for Text-Keyed Sequence files if the key a new copy of the key is not created when mapping to an RDD.  This patch checks for Text Keys and creates a copy of each Key if necessary.    
I'm not sure here- we need to remove one of the functions them but I think we should be using val2key here not key2val correct?
```scala
     key2val(v: AnyRef) => v.asInstanceOf[IntWritable].get
     val2key(x: Any) => new Integer(x.asInstanceOf[IntWritable].get)
 ```
  so later when we map to the RDD:
```scala
val drmRdd = rdd.map { t => val2keyFunc(t._1) -> t._2.get()}
``` 
they will be of form `[Integer][Vector]`rather than `[IntWritable][Vector]`