Fixed several typos with emitted code.
Changed return semantics in two ways:

  1) Don't put return result on complete queue.  There's no need to.
     Can instead just save the result of calling the internal function
     to a variable and return that variable if haven't backed out
     during commit.
  2) Had a problem, where instead of returning tuples of the form
     (0,1,2), would return tuples of the form (0,1,2,).  This was a
     problem for single returns.  Eg., if we have a = (0,), then a
     gets assigned to the tuple (0,), not to the value 0.
Added emitting code for binary operators.  Note that there's a bug
write now with appending lists that I should solve.
Adding tests for emitter.  First test added just checks to ensure that can get and set endpoint global data.