fix pack exclusion via an ancestor commit
When a commit is first discovered as a commit which should be included
in the pack, but is later found to be a parent of a commit which should
be excluded from the pack, gotadmin pack correctly excluded the commit
itself but failed to exclude this commit's parents.
This bug is the reason why our test suite did not notice that gotd
was not protecting references when clients did not send a pack file.
In our test case, these parents are in the 'keep' set already and
were never added to the 'skip' set. A useless pack was built which
included those parents and nothing else.
Add a test which triggers the bug via gotadmin pack.
ok jamsek