Fix some C++ value / reference semantics issues.

Some functions were taking Twine's not by const&, these are all
fixed to take by const&.  We also had a case where some functions
were overloaded to accept by const& and &&.  Now there is only
one version which accepts by value and move's the value.

llvm-svn: 315229
diff --git a/llvm/tools/llvm-rc/ResourceFileWriter.h b/llvm/tools/llvm-rc/ResourceFileWriter.h
index b442716..8d193d6 100644
--- a/llvm/tools/llvm-rc/ResourceFileWriter.h
+++ b/llvm/tools/llvm-rc/ResourceFileWriter.h
@@ -88,7 +88,7 @@
   } StringTableData;
 
 private:
-  Error handleError(Error &&Err, const RCResource *Res);
+  Error handleError(Error Err, const RCResource *Res);
 
   Error
   writeResource(const RCResource *Res,