Reworked the provider connection logic so that we can
properly catch failures from the implementation and report
them in the UI. Unfortunately the Eclipse method of doing
this is just outright difficult to write. Who ever thought
that handling an error would require so much work on the
part of the developer writing a simple wizard?
If we can't find a .git directly in the top level of the
project directory then we create it during a connection;
otherwise we use the existing .git directory. This is
clearly not ideal as we should allow searching for a .git
directory in a parent or a .git directory within a single
folder within the project. But I'm not sure I would agree
with allowing multiple .git directories within a single
project but in different folders of that project.
Patch: Prototype-Implementation