[VersionControl] Never invoke VCS queries with the lock held

The purpose of this lock is purely to provide threadsafe access
to the collections holding the version control queries. We should
not execute any query with that lock held as that will result in
the IDE hanging until it has completely executed all VCS queries
in the current batch.

I kept the current intent of the code while respecting the semanatics
of the lock by duplicating the collections while the lock was held.
Fixed 'Bug 15596 - Hang in VS status area '.
[CorDebug] Fixed binding of exceptions.
[TextEditor] Fixed vi status area.
When determining if there is a non-GTK modal window running, we can't just
assume that any NSWindow that is not associated with a GtkWindow is a
modal window.  On Mavericks when we go into fullscreen mode we get an
NSStatusBarWindow in the list which is not associated with a GtkWindow, so
we must now check for that.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=14469
Bump md-addins and gui-unit
bump md-addins to the right commit
[NUnit] Don't assume that automatic updates always work

Only guiunit can give automatic updates, regardless of whether mdtool
is used or not. As such, even if we think automatic updates might
work we should protect against the case where they do not by loading
up the xml file at the end if automatic updates have not been received.

Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=15477
[NUnit] Use the pathname

The pathname is the correct thing to use, not the suitename
and testname.

The pathname handles tests subclassing other tests in the correct manner
[NUnit] Ignore casing when comparing extensions
[NUnit] GuiUnit as a project reference now works

I figured out a way to get the output filename for GuiUnit.exe
so i can now give that as the custom command when no other custom
command is supplied.

This means that both a direct binary reference on guiunit.exe and
also a project reference on it's csproj both result in your test
assembly being run using guiunit.exe
Fixed 'Bug 15435 - Printing problem'.
Printing doesn't seem to work on windows without the [STAThread]
attribute.
Revert "Fixed 'Bug 15435 - Printing problem'."

This reverts commit 3ceed28b8a851e2d194e7b86aa249da45b18d150.
Fixed 'Bug 15510 - Monodevelop does not pass project compiler options
to compiler'.
[CSharp.AutoTools] Fix build.
Makefile magic!
Bump guiunit
Bump md-addins
[wintest.sh] Append /build/tests/ to the assembly name if it isn't there.
[WinTest.sh] Fix this file more.