DO NOT MERGE: Methods for subsequent memory leak fixes

Background
-----
This pull request represents a smaller chunk of a larger work (happening on [Plumber branch](https://github.com/Benglin/Dynamo/tree/Plumber)), making code review process more manageable. It exposes methods that will be called eventually when the full memory leak fix goes in, but for now, these new methods are not called in anyway.

Testing
-----
The latest code changes work good in Dynamo + Revit.
This ```InstrumentationLogger.End``` method will be called eventually by ```dynSettings.DestroySessionSingletonObjects``` when it gets in. So it is not currently called, we just need to ensure its functionality by itself is correct.