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