LUCENE-3896: CharacterUtils.fill must call Reader.read again if it only got a single high surrogate char on the first read