Stop editing ARGV

Previously ARGV was edited by rake when it processed arguments.  This
made it difficult to re-exec rake within itself as the arguments were
gone when rake started.

Now rake duplicates ARGV and modifies only the duplicate.

Fixes #277