Fix support for overloaded objects.

Git::Repository::Command->new would silently filter out all references from the command
arguments, catching things like Path::Class.  The filter looks like it was there to
catch extra Git::Repository objects on the command and ignore them.  I don't agree
with this feature, but its tested in t/20-simple.t and I've emulated it.

The new code removes the Git::Repository objects from the command list explicitly.

For rt.cpan.org 82373
simplify _extract_special_from_list to nothing