refactoring BeamFormedData. Split in 3 parts: reading, the data
provider, and dedispersion