Fixing test regression due to residual config

- This flaky test was failing because the ConfigurationRedirection test
injects a mock config and doesn't restore it back, other tests running
after it may fail.

- Implemented a IDisposable ConfigInjection class, which restores the
old configuration when disposed.

- Updated the test to using ConfigInjection class so that config is
restored after test is complete.
Merge pull request #2925 from Conceptual-Design/umTests

Fixing test regression due to residual config
Increate latency to fix flaky test case
Merge pull request #2931 from ke-yu/fix_testcase

Increate latency to fix flaky test case
Merge branch 'master' into Revit2015
Merge pull request #2932 from ke-yu/Revit2015

Cross merge master into Revit2015
Clean harvesting folder before making msi.