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. It will also let us verify that grammars.yml
is accurate in the future by checking it against the submodules on disk.

script/bootstrap now updates the submodules.
Sort grammars.yml
Update grammars.yml

This is just the result of running script/download-grammars.
Test that grammars.yml agrees with the list of submodules

If any submodules are missing from grammars.yml, or are listed in
grammars.yml but missing from the repo, the test will fail.

Eventually it would be good to test that the scopes for each submodule
are accurate, but that will take some more work.