first set of changes

Pull request with the Different representations of vector, made these an abstract class but will be replacing with an interface that implements most of the methods in DataFrameLike