Add UserSettings to Target class, making Target settings
the parent of Process settings;   add 'default-arch' as a
class-wide setting for Target.    Replace            lldb::GetDefaultArchitecture
with Target::GetDefaultArchitecture & Target::SetDefaultArchitecture.

Add 'use-external-editor' as user setting to Debugger class & update
code appropriately.

Add Error parameter to methods that get user settings, for easier
reporting of bad requests.

Fix various other minor related bugs.

Fix test cases to work with new changes.

llvm-svn: 114352
diff --git a/lldb/source/Target/Thread.cpp b/lldb/source/Target/Thread.cpp
index a729b398..21eb2d4 100644
--- a/lldb/source/Target/Thread.cpp
+++ b/lldb/source/Target/Thread.cpp
@@ -1064,8 +1064,9 @@
 
 void
 ThreadInstanceSettings::GetInstanceSettingsValue (const SettingEntry &entry,
-                                                   const ConstString &var_name,
-                                                   StringList &value)
+                                                  const ConstString &var_name,
+                                                  StringList &value,
+                                                  Error &err)
 {
     if (var_name == StepAvoidRegexpVarName())
     {
@@ -1076,10 +1077,10 @@
             regexp_text.append ("\"");
             value.AppendString (regexp_text.c_str());
         }
-        
+
     }
     else
-        value.AppendString ("unrecognized variable name");
+        err.SetErrorStringWithFormat ("unrecognized variable name '%s'", var_name.AsCString());
 }
 
 const ConstString