Rename refs/keepalive-chain to refs/internal/keepalive-chain

It turns out Git has the bug/feature/misbehavior that it includes
refs directly under refs/ in the set of fetched refs, but not the
objects referenced by them in the set of fetched objects, which
leads to fetch failing due to missing objects.

Putting the ref under an arbitrary sub-directory instead solves
the problem.

Calling the ref refs/keepalive/chain, which would have been the
logical name, makes listing all loose keepalive refs somewhat more
complicated (we'd need to ignore the */chain ref,) so we don't.