fixes #6275 - idempotence needs clone of original data and to handle *_port
Update Proxy::Util::CommandTask to handle Ruby 1.8 and 1.9+

In this update, use 'true' and 'false' to test $? return codes 0 and 1, respectively.
In Ruby 1.8.x, the return code from Open3.popen3 is always 0, some errors will not be caught.