This can also affect parquet.
We inconsistently use std::string, std::vector and std::shared_ptr, this will be an attempt to consistently use std::* instead of do "use std::vector". This is more of suggestion, so if people are opposed to it (or some of the changes). i'm OK not checking them in. For now I plan on doing one pull request which will include parquet.