add missing context to openSearchers
allow connected threads to reconnect to a markToClose SearcherProvider
change getSearcherProvider to getConnectedSearcherProvider and ensure
that the searcherProvider is connected before returning