Adds support for updating cached git repo url.

This fixes issue #10408.

I don't expect the test portion of the commit to be accepted as it is. I'm not sure the test is located in the correct place or if there is overlap between pillar gitfs and the fileserver backend code. Is there a way I can call git_pillar with self.run_function like other tests are doing for modules?

This is my first PR. I would appreciate some direction. I don't mind making any required changes.

Thanks.