rev-parse: add --filename-prefix option

This adds a prefix string to any filename arguments encountered after it
has been specified.

Signed-off-by: John Keeping <john@keeping.me.uk>
submodule: drop the top-level requirement

Use the new rev-parse --filename-prefix option to process all paths
given to the submodule command, dropping the requirement that it be run
from the top-level of the repository.

Signed-off-by: John Keeping <john@keeping.me.uk>