Move all grammars that use Git repos to submodules

This makes it so we don't have to redownload all the grammars every time we build the grammars gem. We test that the list of submodules in the repo matches the list in grammars.yml. Eventually we'll be able to test that the list of scopes for each submodule is accurate as well, which was the original motivation for this change.

/cc @bkeepers @arfon @pchaigno 
I don't expect this to happen often at all. When you're adding a grammar, you add a submodule and add it to `grammars.yml`. When you're removing a grammar, you remove it from both places. I don't know which situation would be more common. I suppose I could list both resolutions.