add distinctBy method and implement distinct in terms of distinctBy

add distinctBy method to Seq (move it from scala-reflect) and implement distinct in terms of distinctBy

review by @Ichoran 
Let's avoid using names of copyrighted fictional characters.  There are various highly implausible but not completely unthinkable scenarios where this could end up causing a problem.