added cast down constructors for vectors
added reduction functions take and drop
fixed all function
fixed bad inconsistent naming convention
some more bad naming
started on the matrix class
added matrix headers and extracted aliases to separate header
added test folder for matrix class