Compile function call expressions.

Mostly reuses the interpreters argument checking and helper functions.

--
MOS_MIGRATED_REVID=107395974
diff --git a/src/main/java/com/google/devtools/build/lib/syntax/UserDefinedFunction.java b/src/main/java/com/google/devtools/build/lib/syntax/UserDefinedFunction.java
index ededb16..cb6691c 100644
--- a/src/main/java/com/google/devtools/build/lib/syntax/UserDefinedFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/syntax/UserDefinedFunction.java
@@ -79,10 +79,12 @@
   private static File debugFolder;
   public static boolean enableCompiler = false;
 
-  protected UserDefinedFunction(Identifier function,
+  protected UserDefinedFunction(
+      Identifier function,
       FunctionSignature.WithValues<Object, SkylarkType> signature,
-      ImmutableList<Statement> statements, Environment.Frame definitionGlobals)
-    throws EvalException {
+      ImmutableList<Statement> statements,
+      Environment.Frame definitionGlobals)
+      throws EvalException {
     super(function.getName(), signature, function.getLocation());
     this.statements = statements;
     this.definitionGlobals = definitionGlobals;