validate remotes

This is so we can avoid doing a lot of expensive work
(ie preparing the docker images) only to find out the
remote is misconfigured