Git::Repository::Command now dies if given more than one Git::Repository object

As noted by Schwern in https://rt.cpan.org/Ticket/Display.html?id=82373

    The feature tested in t/20-simple.t which ignores extra
    Git::Repository objects seems like a bad idea. Nothing but that
    test triggered that behavior. Should it not be an error?

If Git::Repository::Command receives more than one Git::Repository object,
it needs to pick one to set the context of the command. Until now, the code
picked the first one, but if the goal was to allow some sort of overriding
of the defaults, picking the last would make more sense.

In the end, this should probably be considered an error.

So Git::Repository::Command->new() now dies if given more than one
Git::Repository object.
cleanup the test by removing useless code and adding test messages
"git init $dir" is only valid from git version 1.6.5 and later
Git::Repository->new now dies if given more than one option hash
update MANIFEST