[NUnit] Improve support for custom test runners
[Core] Add internal test runner
[Unit tests] Added custom runner add-in

MD unit tests are now run using a custom runner.
When running inside MD, the custom custom runner
in MD.Core is used. When outside MD, mdtool is
used to invoke the custom runner.

Add-in assemblies are not local-copied anymore
in the test dir. This is not necessary because the
custom test runner loads the add-ins before
loading the test assemblies.

If new add-ins are referenced in the tests, then
the add-in references must be added to the file
MonoDevelop.TestRunner.addin.xml.
Add new project test runner project
Add missing NGit reference.
Include 'tests' dir in the add-in search path
Fix failure in unit test

When running the unit tests, typeof(ProjectBuilder) is
returning the type from one of the version-specific msbuild
assemblies, and we end getting the wrong path to the
msbuild runner.
Fixed case of boolean properties in test project.
[Tests] Splitted text editor tests.
[Tests] Fix build.
[Tests] Fixed text editor tests.
[Debugger] Allow multiple selection in the BreakpointPad

Fixes bug #12026
[Debugger] Fixed deletion of multiple rows in the BreakpointPad
[Debugger] Removed debug cwl
[Debugger] Implemented SelectAll for the BreakpointPad
[Debugger] Don't scroll when enabling/disabling breakpoints

Fixes bug #12024