Implement FIRST function

Summary:
This function is needed to get the ETE test working again after my
bigbingo changes.

I'm still a bit confused about the exact details of why/how FIRST works
on both repeated fields and groups of rows, but I've tried to mimic
bigquery's actual behavior here by making it work in both cases.

Test Plan: - add tests to evaluator_test.py, ../webapp/tools/runtests.py

Reviewers: alan

Reviewed By: alan

Subscribers: jace

Differential Revision: http://phabricator.khanacademy.org/D11804