Prune #includes from llvm/Linker.h and llvm/System/Path.h,
forcing them down into various .cpp files.

This change also:
1. Renames TimeValue::toString() and Path::toString() to ::str()
   for similarity with the STL.
2. Removes all stream insertion support for sys::Path, forcing
   clients to call .str().
3. Removes a use of Config/alloca.h from bugpoint, using smallvector
   instead.
4. Weans llvm-db off <iostream>

sys::Path really needs to be gutted, but I don't have the desire to
do it at this point.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79869 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvm-db/llvm-db.cpp b/tools/llvm-db/llvm-db.cpp
index 8fb9b58..463a1bd 100644
--- a/tools/llvm-db/llvm-db.cpp
+++ b/tools/llvm-db/llvm-db.cpp
@@ -17,8 +17,8 @@
 #include "llvm/Support/CommandLine.h"
 #include "llvm/Support/ManagedStatic.h"
 #include "llvm/Support/PrettyStackTrace.h"
+#include "llvm/Support/raw_ostream.h"
 #include "llvm/System/Signals.h"
-#include <iostream>
 using namespace llvm;
 
 namespace {
@@ -57,13 +57,13 @@
   
   LLVMContext &Context = getGlobalContext();
   llvm_shutdown_obj Y;  // Call llvm_shutdown() on exit.
-  std::cout << "NOTE: llvm-db is known useless right now.\n";
+  outs() << "NOTE: llvm-db is known useless right now.\n";
   try {
     cl::ParseCommandLineOptions(argc, argv,
                                 "llvm source-level debugger\n");
 
     if (!Quiet)
-      std::cout << "llvm-db: The LLVM source-level debugger\n";
+      outs() << "llvm-db: The LLVM source-level debugger\n";
 
     // Merge Inputfile and InputArgs into the InputArgs list...
     if (!InputFile.empty() && InputArgs.empty())
@@ -85,7 +85,7 @@
       try {
         D.fileCommand(InputArgs[0]);
       } catch (const std::string &Error) {
-        std::cout << "Error: " << Error << "\n";
+        outs() << "Error: " << Error << "\n";
       }
 
       Dbg.setProgramArguments(InputArgs.begin()+1, InputArgs.end());