Skylark: Allow builtin functions to be shadowed.

This change makes them consistent with global variables.
e.g.
  def foo(len): return len + 1  # now allowed

Redefinition is still forbidden.

--
MOS_MIGRATED_REVID=89383535
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java b/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java
index cc69867..a3c1991 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/ValidationEnvironment.java
@@ -89,15 +89,10 @@
    * Creates a local ValidationEnvironment to validate user defined function bodies.
    */
   public ValidationEnvironment(ValidationEnvironment parent, SkylarkFunctionType currentFunction) {
+    // Don't copy readOnlyVariables: Variables may shadow global values.
     this.parent = parent;
     this.variableTypes.put(SkylarkType.GLOBAL, new HashMap<String, SkylarkType>());
     this.currentFunction = currentFunction;
-    for (String var : parent.readOnlyVariables) {
-      if (!parent.variableLocations.containsKey(var)) {
-        // Mark built in global vars readonly. Variables defined in Skylark may be shadowed locally.
-        readOnlyVariables.add(var);
-      }
-    }
     this.clonable = false;
   }