move provider interfaces to separate assembly so we can do alternate implementations
More refactoring and tests

Merge BreakpointMediator and BreakpointProvider into the latter
Merge SourceProvider into TypeProvider
Add lazy creation of providers from a DebuggerSession without composition
and more...