Plugin update enhancements and code cleanup:

* teach mr and vpkg to handle submodules
* use wrapper functions for mr and git