WIP
ag is great but we actually want to edit files that might be in gitignore etc. so ag isn't a good fit here anymore; grep can exclude binary files and can list all the files recursively, and it's much faster than using file; tighten up the code a bit as well