Topic/plat 6697

Added vector function [PLAT}-6697 and concrete implementations plus tests 
The data passed on construction is just assigned, which means the internal members are new refs to the existing data, such that were the data mangled between construction and e.g. calling a method that runs on the data the answer would be wrong