rev-parse: add --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 --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>