Revert "Reformat for easier diffing on branches"

This reverts commit c7a5aa75a20ce1153c55d866e12bb254f6c847b0.
Emulator path fix.
Hash-based saving.

I merged in most of the important stuff from the branch, but did
significantly modify how hashes are matched. Instead of computing the
hash for all files in a directory right away (slow), only the file
lengths are computed. When attempting to match a ROM, file length is
matched first, then the hash is computed and matched. I also updated the
dialogs to start in their current or previous directories.