Bugfix reorder thrift fields causing writting nulls

fixed it by keeping track of which fields are being written in each level, and only write nulls when current level is finished in MessageColumnIO