Implemented LEAST function with variable number of arguments.

Implemented LEAST function with variable number of arguments and deleted its old implementations. It works in presto-client, but old unit tests for Least function can't make a call to it now. 
Lets add this back. You can probably special case the DOUBLE type in the generator, and then insert a check that it's not NaN. The easiest way to do that is to write a public static method that does the check and throws the exception, and then just generate an invocation to that static method