Change error message raised when free variable is not yet bound.  It
now raises NameError instead of UnboundLocalError, because the var in
question is definitely not local.  (This affects test_scope.py)

Also update the recent fix by Ping using get_func_name().  Replace
tests of get_func_name() return value with call to get_func_desc() to
match all the other uses.
diff --git a/Lib/test/test_scope.py b/Lib/test/test_scope.py
index d6367b2..358c45a 100644
--- a/Lib/test/test_scope.py
+++ b/Lib/test/test_scope.py
@@ -291,7 +291,7 @@
 
 try:
     errorInInner()
-except UnboundLocalError:
+except NameError:
     pass
 else:
     raise TestFailed
@@ -435,3 +435,4 @@
 verify(d.has_key('h'))
 del d['h']
 verify(d == {'x': 2, 'y': 7, 'w': 6})
+