Exec2 enable adding user defined functions to global scope.

VEN-4
Merge branch 'master' of github.com:0xdata/h2o
Exec2: support adding user defined functions in global scope.

Parser change:
  - when parsing a prefix, lookup ids from local scope first.
    then, if there are parens ahead, retry looking up operators instead.
Eval change:
  - assigning function to variable at outer most scope will add new
    user defined function to global function table.
  - function variables may shadow built-in functions.
  - reassigning variable that bears the same name with a UDF in
    outer-most scope will kill the existing UDF.

Ex:
  mean = c(1, 2)
  mean(mean)   // returns 1.5
  mean = function(x) {sum(x)}
  mean(c(1,2)) // returns 3
  mean(mean)   // Error, Arg 'x' typed as dblary... but passed dbl(dblary...)
Merge branch 'master' of github.com:0xdata/h2o