Fix a bug in type checking for LEAST and GREATEST
Fix a bug in type checking for LEAST and GREATEST

Summary:

When implementing LEAST and GREATEST, I added a constraint that all arguments
had to be the same type (float or int).  Bigquery actually allows a mix and
appears to make the result type float if any of its args are floats.

This commit changes these functions to match the behavior in bigquery.  I also
resolved a TODO at the same spot in the code to use the numeric type set
constant.

Test Plan:
`python -m unittest evaluator_test`

Auditors: ragini

Khan/tinyquery