Provide a `takeBytes` that trows if source is too short.