change hash -> fs strategy to copy that of what git uses

this copies what git does, which to use the first two letter of the hash as the folder name and then the rest as the filename.

limit here is putting too many files in a single folder (now that there are only 256 folders), but if we hit that in the future we can fix it then

this also uses `path.join` everywhere so this module will work on windows