Split out PooledDataVector from DataVector codebase