Command#save_env: Make it actually work

Before this commit, Command#save_env didn't really work. The problem was
that env_old was a *reference* to the ENV variable, not a *copy*. As a
result, any modifications to ENV done in the passed block were not
reverted back.

In practice, this caused trouble when the RUBYOPT variable was left
undefined by PackageCommand and "y2r" could not be found later.

This commit resolves the problem by making sure that ENV items are
copied on save. This is complicated by the fact that ENV isn't really a
Hash -- see the comment in code for details.
Command#save_env: Improve variable name
Command#save_env: Only yield needs to be wrapped in begin...ensure
Merge pull request #379 from yast/fix-save-env

[Review] Request from '' @ 'yast/ycp-killer/fix-save-env'