Reduce differences between Skylark and Build evaluation

Add some functions to Build, allow method calls.

--
MOS_MIGRATED_REVID=110835163
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java b/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
index 64ce78a..ec05688 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/FuncallExpression.java
@@ -602,8 +602,7 @@
       function = (BaseFunction) fieldValue;
       return function.call(
           positionalArgs, ImmutableMap.<String, Object>copyOf(keyWordArgs), call, env);
-    } else if (env.isSkylark()) {
-      // Only allow native Java calls when using Skylark
+    } else {
       // When calling a Java method, the name is not in the Environment,
       // so evaluating 'func' would fail.
       Class<?> objClass;
@@ -627,13 +626,6 @@
                 EvalUtils.getDataTypeNameFromClass(objClass)));
       }
       return callMethod(methodDescriptor, method, obj, positionalArgs.toArray(), location, env);
-    } else {
-      throw new EvalException(
-          location,
-          String.format(
-              "%s is not defined on object of type '%s'",
-              call.functionName(),
-              EvalUtils.getDataTypeName(value)));
     }
   }