`completing-read's REQUIRE-MATCH means "require the user to exit with
a match, but there are exceptions in which case an empty string is
returned". That's not so useful because every caller has to check
for that empty string.
Previously `magit-builtin-completing-read' did detect that case and
raise an error if `completing-read' returned an empty string. Now
we do this in `magit-completing-read' so that this sanity check is
applied regardless of what `magit-completing-read-function' is used.
Remove equivalent checks from `magit-read-remote-branch' and
`magit-read-rev'. Now that we do this in the correct place we no
longer have to do it in several places.