nacl-clang driver: Derive nacltools::Link from gnutools::Link

The GnuTool subclass of Tool handles enabling response-file support,
which matters on Windows.  Using gnutools::Link as the base class
rather than just changing Tool to GnuTool seems like the cleaner
solution, as it avoids the need to duplicate the other methods.
Only ConstructJob actually differs from gnutools::Link.

BUG= 512869
TEST= toolchain trybots
R=dschuff@chromium.org

Review URL: https://codereview.chromium.org/1445793002 .
diff --git a/lib/Driver/Tools.h b/lib/Driver/Tools.h
index 33fadd1..aa292bf 100644
--- a/lib/Driver/Tools.h
+++ b/lib/Driver/Tools.h
@@ -524,18 +524,15 @@
                       const llvm::opt::ArgList &TCArgs,
                       const char *LinkingOutput) const override;
   };
-  class LLVM_LIBRARY_VISIBILITY Link : public Tool  {
+  class LLVM_LIBRARY_VISIBILITY Link : public gnutools::Link  {
   public:
-    Link(const ToolChain &TC) : Tool("NaCl::Link", "linker", TC) {}
-
-    bool hasIntegratedCPP() const override { return false; }
-    bool isLinkJob() const override { return true; }
+    Link(const ToolChain &TC) : gnutools::Link(TC) {}
 
     void ConstructJob(Compilation &C, const JobAction &JA,
-                              const InputInfo &Output,
-                              const InputInfoList &Inputs,
-                              const llvm::opt::ArgList &TCArgs,
-                              const char *LinkingOutput) const override;
+                      const InputInfo &Output,
+                      const InputInfoList &Inputs,
+                      const llvm::opt::ArgList &TCArgs,
+                      const char *LinkingOutput) const override;
   };
 }