Internal parameter ordering changes to reduce confusion.

No semantic effects, just a more natural ordering for implicit function
parameters in the internal representation.
- Function values are now represented by
    (function_ptr, env_ptr, target_ptr)
  rather than
    (function_ptr, target_ptr, closure_ptr).
  The closure -> env rename reflects the eventual goal state where each
  function has link either to a global data struct, or to a node in the
  tree of closure structs rooted at some global data struct.
  The target pointer is more commonly nulled out than the env pointer,
  so it's move to the end.
- Functions (including trampolines) have been updated to match and now
  have argument lists like
    f(args..., void* global_data[, void* target]).