LUCENE-3471: don't close ES until after writer; add try/finally/success logic during warming so we close newly reopened but-not-swapped reader; move IS's locking on merging results out of for loop