HSEARCH-1725 Improve allocation rate of the new Lucene synchronous batch backend


When testing low-scale I couldn't detect any performance improvement, still this has a lower contention point on the work queue and keeps the allocation rate of objects much lower.

Also improves the allocation rate for the garbage created by the `ErrorHandler`, at cost of being slightly less efficient in the case there actually is an error (which is hopefully a great bargain).

 - https://hibernate.atlassian.net/browse/HSEARCH-1725

'drain' comes from the ```BlockingQueue``` interface 
https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/BlockingQueue.html#drainTo%28java.util.Collection%29