Made the string representation for a SBValue return what "frame variable" 
would return instead of a less than helpful "name: '%s'" description.

Make sure that when we ask for the error from a ValueObject object we
first update the value if needed.

Cleaned up some SB functions to use internal functions and not re-call
through the public API when possible.

llvm-svn: 134497
diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp
index e081630..e892e3e 100644
--- a/lldb/source/Core/ValueObject.cpp
+++ b/lldb/source/Core/ValueObject.cpp
@@ -212,8 +212,9 @@
 }
 
 const Error &
-ValueObject::GetError() const
+ValueObject::GetError()
 {
+    UpdateValueIfNeeded();
     return m_error;
 }
 
@@ -1929,7 +1930,10 @@
     {
         Thread *our_thread = m_process_sp->GetThreadList().FindThreadByIndexID (m_thread_id).get();
         if (our_thread == NULL)
-            SetInvalid();
+        {
+            //SetInvalid();
+            m_exe_scope = m_process_sp.get();
+        }
         else
         {
             m_exe_scope = our_thread;