Fix argument handling in Fudge::Tasks::Task

Task does not handle its arguments correctly.  It copies and stores
incoming arguments, and then extracts the options from the arguments
and stores those too.

However, it extracts the options from the incoming arguments, not the
copy it has made.  A method should not alter its parameters, as they
may be used elsewhere.  Also, the stored arguments still retain the
options hash, which is probably unintended.

This change extracts the options from the stored copy of the
arguments.

Fixes #84.