+ Properly escape { and } in string formatting. + Update appendenv, prependenv and setenv support in csh.  In TCSH referencing an environment variable which doesn't exist results in an error (unlike bash).  We protect against this by wrapping in an if/else clause.  Lame. + Update initialiser of Python CommandInterpreter to pass through the correct arguments to the base class. + Better handling of os.environ in the _expand method.  os.environ is not a 'real' dict and so does not work with the ** syntax in the call to safe_substitute.
+ Properly escape { and } in string formatting.
+ Update appendenv, prependenv and setenv support in csh.  In TCSH
referencing an environment variable which doesn't exist results in an
error (unlike bash).  We protect against this by wrapping in an if/else
clause.  Lame.
+ Update initialiser of Python CommandInterpreter to pass through the
correct arguments to the base class.
+ Better handling of os.environ in the _expand method.  os.environ is
not a 'real' dict and so does not work with the ** syntax in the call to
safe_substitute.

instinct-vfx/rez,nerdvegas/rez,instinct-vfx/rez,nerdvegas/rez