Port: IndexReader, CompositeReader, etc

Also: Term, BaseCompositeReader, and some new support types
Port: BinaryDocValuesWriter, BufferedDeletes

Also: DocValuesWriter
Port: more search classes

TermCollectingRewrite, MultiTermQuery, NGramPhraseQuery
Merge remote-tracking branch 'upstream/lucene_4_3_0' into lucene_4_3_0