Removed STUDENT_FUNCTION; added WRAP_STUDENT_CODE

The point of STUDENT_FUNCTION was to work out whether the student code
needed to be wrapped in a function (so that input calls don't hang the
app, for example).

This just deals with that issue directly.

Closes #31