State git.latest's "ls-remote" step uses the specified SSH key

This is a fix for #8094

It moves the ``__ls_remote__`` out of the ``git`` Salt's state module to the ``git`` Salt's module so it can profit from the SSH wrapper there.

Previously, the ``__ls_remote__`` function wasn't implementing the full ``git.latest`` parameters and in particular, wasn't using the ``identity`` setting which caused #8094.

I believe the ``ls_remote`` function has little interest in itself in the Git module, but it seemed the best to reuse the SSH wrapper from ``salt.modules.git``.