implement Python corner case of passing a tuple as assert message
reduce code overhead of with-statement a bit by using PyTuple_Pack() for __exit__() arguments
reduce lifetime of exception tuple in with-statement exception exit case by making the WithExitCallNode own it instead of the exception clause
streamline exit code of with-statement
remove unnecessary code from normal exit case of with-statement