CRUNCH-278: Refactor MapsideJoin logic and introduce ReadableData abstraction for working
with in-memory datasets in Crunch jobs.