convert: use `changelogrevision` to fetch changeset data instead of read
This `changelogrevision` is a higher level function that will remain simple to
use as we refactor the revlog.
revlog: adapt the `reading` check for `unionrepo`
We cannot just rely on the length check for the `unionrepo` as the local revlog
might be empty while the other revlog contains data. In addition, we need to
also open the second revlog for reading when needed.