Emitting method calls for public, private, and endpoint calls.
Changed invariant.  Now, at top of each function call, check whether
to make a copy of argument (for non-reference and non-external types)
or not.  Take onus off of function caller for knowing the type
signature of function that is being called to determine whether need
to make copy of function or not.