Implement submodule management.

If the new "submodules" syntax is used, Leeroy will add/remove submodules from the build repo to make it match the configuration file.

The old "submoduleBranches" syntax is still supported, and will result in Leeroy using the current contents of the build repo as the source for submodule information.