Run "late upgrade" tests whenever migration scripts are added/modified

Typically, the point of late upgrading is upgrading with some data in the
database or branches in the Git repository, and typically the only part
of upgrading that cares about such things are migration scripts.

And, when there are migration scripts, they almost always do care, so it
makes sense to always run the late upgrading tests then.
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.