SYNOPSIS
Recursively push changes in root repository and all submodules.
Use "--help" or "--man" to display this help dialog.
Specify "--all" to push all branches, not just the currently checked out one.
The default behavior of this script is to abort after the first error. Submodules are pushed in a depth-first fashion such that this ensures we do not push a parent submodule after it's parent.
To ignore errors and attempt to push all repositories anyway, specify "--ignore-errors". This option should be used with care to avoid avoid leaving the repository in a potentially inconsistent state for other Nuggit users.