Purge host vector arithmetic and utilitiy function
Rename header files and decompose into sub headers.
Template for cublas gemm, geam, nrm2
Merge branch 'feature/purge-host-matrix-and-libraries' into develop
[Bug Fixed] Forget to include host vector file I/O
[New Feature] Double precision and cublas wrapper
[Bug Fixed] Forget to include functional.inl
Add cublas_gemv for both single / double float.
[Bug Fixed] STRIDE is still 1 for double-precision.

STRIDE would be added to the data pointer no matter what type the
pointer is. Therefore, data + 1 is the next element of data regardless
of the type of data. (single or double precision)
Pass double-precision tests.
Merge branch 'feature/double-precision' into develop
Merge branch 'release/v0.98'
Archive device_matrix.o into libcumatrix.a
Merge branch 'release/v0.985'