Function for storing transaction in context
Changes to the repository that aren't automatically staged need to be manually staged in the transaction. Such changes include repository deletion, setting the default branch and others. To facilitate this, this MR implements functions for including a transaction in the context and for staging changes in the transaction if set.
The functions are placed in their own package to avoid cyclic dependencies from being introduced between git, localrepo and storagemgr packages.