Document that GitDirectory.get_config() can raise an exception

Also fix wrong indent.
Gracefully handle Git repos in system branches with missing config

Previously if there were repos present in the system branch that weren't
put there with `morph edit` or had lost their Morph-specific
configuration entries somehow you might see this error:

    ERROR: Command failed: git config -z morph.repository
Fix finding Git directories to include in a temporary build ref

When running 'morph build' the code looks through all the Git repos in
a system branch, to see which are involved in the build. These are then
checked for local changes and have temporary build refs created in them.

Due to a mistake in the logic, this would give up if it found a repo
that came from elsewhere but was inside the system branch directory. So
in the past some legitimate repos might have been ignored sometimes.
Give a better error when no repos are found in a system branch

Previously, if no repos were found Morph would raise 'ValueError: need
more than 0 values to unpack' and leave the user with a traceback.
Merge branch 'sam/build-branch-fixes'

Reviewed-By: Richard Maw <richard.maw@codethink.co.uk>
Reviewed-By: Francisco Redondo Marchena <francisco.marchena@codethink.co.uk>
Add missing types to the docstring in the DeployPlugin.deploy() function
OpenStack write extension documentation
ssh-rsync write extension documentation
rawdisk write extension documentation