Fix remotes wildcard branch spec

This fixes a bug when using `remotes/` in a wildcard branch spec, such as:

    remotes/origin/*

Without this patch, new builds fail if using `remotes/` and a wildcard in the branch name.  If a build has previously run, the previous branch will aways be used instead of the modified branch.

This makes matching "remotes/" optional in BranchSpec.