Replace TestRunLumiSource

The input source TestRunLumiSource, which is used only for testing, is unsuited to the multithreaded framework, and is replaced in this pull request by a new source, ThrowingSource.   TestRunLumiSource was formerly used in many unit tests, but its usage was previously replaced in all but two unit tests.  One of the two unit tests can easily be modified to use EmptySource.  The other test can be handled by a new source, ThrowingSource, which is modeled after EmptySource and conforms to the requirements for the multithreaded framework.
This pull request affects only unit tests.  No code used in production is touched.