d_vec and d_mat modules

Added d_vec and d_mat modules and implemented helper functions (memory management, arithmetic, etc.). Added functions in d_mat for performing Gram Schmidt Orthogonalisation and QR Decomposition. Populated the test and doc directories in the d_* modules with relevant test code and documentation respectively.