Store excluded subdirectories as PathFragment instead of String inside TargetPatternKey, since that is what is needed by callers.

Also, since the PathFragments come from packages, they are guaranteed to be well-formed, so the checks we were doing were unnecessary.

--
MOS_MIGRATED_REVID=112059930
diff --git a/src/main/java/com/google/devtools/build/lib/cmdline/TargetPattern.java b/src/main/java/com/google/devtools/build/lib/cmdline/TargetPattern.java
index 6587424..254be3c 100644
--- a/src/main/java/com/google/devtools/build/lib/cmdline/TargetPattern.java
+++ b/src/main/java/com/google/devtools/build/lib/cmdline/TargetPattern.java
@@ -146,7 +146,7 @@
   public <T, E extends Exception> void eval(
       TargetPatternResolver<T> resolver, BatchCallback<T, E> callback)
       throws TargetParsingException, E, InterruptedException {
-    eval(resolver, ImmutableSet.<String>of(), callback);
+    eval(resolver, ImmutableSet.<PathFragment>of(), callback);
   }
 
   /**
@@ -158,7 +158,7 @@
    */
   public abstract <T, E extends Exception> void eval(
       TargetPatternResolver<T> resolver,
-      ImmutableSet<String> excludedSubdirectories,
+      ImmutableSet<PathFragment> excludedSubdirectories,
       BatchCallback<T, E> callback)
       throws TargetParsingException, E, InterruptedException;
 
@@ -210,7 +210,7 @@
     @Override
     public <T, E extends Exception> void eval(
         TargetPatternResolver<T> resolver,
-        ImmutableSet<String> excludedSubdirectories,
+        ImmutableSet<PathFragment> excludedSubdirectories,
         BatchCallback<T, E> callback)
         throws TargetParsingException, E, InterruptedException {
       Preconditions.checkArgument(excludedSubdirectories.isEmpty(),
@@ -264,7 +264,7 @@
     @Override
     public <T, E extends Exception> void eval(
         TargetPatternResolver<T> resolver,
-        ImmutableSet<String> excludedSubdirectories,
+        ImmutableSet<PathFragment> excludedSubdirectories,
         BatchCallback<T, E> callback)
         throws TargetParsingException, E, InterruptedException {
       Preconditions.checkArgument(excludedSubdirectories.isEmpty(),
@@ -353,7 +353,7 @@
     @Override
     public <T, E extends Exception> void eval(
         TargetPatternResolver<T> resolver,
-        ImmutableSet<String> excludedSubdirectories,
+        ImmutableSet<PathFragment> excludedSubdirectories,
         BatchCallback<T, E> callback)
         throws TargetParsingException, E, InterruptedException {
       Preconditions.checkArgument(excludedSubdirectories.isEmpty(),
@@ -463,7 +463,7 @@
     @Override
     public <T, E extends Exception> void eval(
         TargetPatternResolver<T> resolver,
-        ImmutableSet<String> excludedSubdirectories,
+        ImmutableSet<PathFragment> excludedSubdirectories,
         BatchCallback<T, E> callback)
         throws TargetParsingException, E, InterruptedException {
       resolver.findTargetsBeneathDirectory(