Add submodule param to fetch a subset of them

* params can be all, or none, defaults to all
* params is an array of submodule names
* [] is the same as saying none
* it is recursive for each submodule