switch AtomicReader to interface pattern
remove unnucessary conversion
add SegmentReader overrided methods
fix map not initialized issue
convert CompositeReader and DirectoryReader to interface
fix reader/context/reader call
fix shared array in ctx builder