git_handler.load_map: use None as the uninitialized condition

If there are no elements in the map, we would have tried loading it over and
over again. With this, we only try loading it once.
git_handler: remove unnecessary os.path.join call
git_handler: rename mapfile to map_file for PEP8 compat
git_handler: rename tagsfile to tags_file for PEP8 compat
git_handler: move git-remote-refs out to a class field for consistency
git_handler: convert to hex at the end instead of in the middle

This makes upcoming patches simpler.
hgrepo: move remote ref loading to git_handler

The writing out is in the git handler, so the loading should be too.
git_handler.update_remote_branches: rename 'tags' to 'remote_refs'

'tags' is a fairly nonsensical name in this context.
git_handler: move remote ref writing to a separate function

For consistency with save_map and save_tags.
git_handler.save_remote_refs: use an atomic temp file to write

This bug becomes obvious now that the code is structured like this.