Refactored most of LazyBsonArray into MaterializedOnDemandBsonArray to match how LazyBsonDocument works.