Support scratch branch creation

This allows creating a scratch branch, with some submodule pointing to specific repo/branch.

Let's say you wanted to test the installer with the set of custom repos and don't want to go
through creation of the links explicitly.

Now, you can put:

```ruby
update_submodule certs https://github.com/iNecas/puppet-certs parameterize-inecas
update_submodule qpid https://github.com/iNecas/puppet-qpid parameterize-inecas
update_submodule pulp https://github.com/iNecas/puppet-pulp parameterize-inecas
update_submodule candlepin https://github.com/iNecas/puppet-candlepin parameterize-inecas
update_submodule apache https://github.com/iNecas/puppet-apache parameterize-inecas
update_submodule katello https://github.com/iNecas/puppet-katello parameterize-inecas
```

to `update_submodules_scratch` file and run `update_submodules scratch`. It will create `scratch` branch and
put the code form the specified repos/branches to your repo.