Vector + tests + benchmarks are DONE

TODO:
Matrix functions
 - extract diagonal as vector?
 - correct reader to avoid double memory allocations?