Added methods for display and scalar multipy

Method to multiply a matrix with a scalar has been added alond with a
function to display a matrix. The display function is useful for testing
and debug purposes. A few minor corrections were made to the existing
methods for basic arithmetic. All the code related to testing resides in
main.cpp.
Fetching row and column by their indices

Added methods GetRow() and GetCol() to fetch and return a vector
containing the row and column respectively at the index given by the
arguments. Also modified the names of existing function to GetNumRows()
and GetNumCols() to avoid confusion.
Multiplication of matrix and vector

Added methods to multiply a matrix with both a row and a column vector.
The column vector multiplication follows the same algorithm as matrix
multiplication (multiplying each row of the matrix with the column vector)
whereas the row vector multiplication treats the result as a linear
combination of the rows of the matrix.
Naive matrix multiplication (i-j-k algorithm)

Implemented the naive matrix multiplication algorithm which runs in
O(n3). This will be used in Strassen's matrix multiplication method to
be implemented later.
Removed cyclic include dependency from header file
Added Makefile for project
Using CMake to build project
Added CMakeLists.txt and some structural changes
Updated README with installation instructions
Added method to read matrix from file
Adding gitignore file
Added module for commandline parsing
The commandline parsing module is used to input matrix values from data
file whose path is supplied by the user as a command-line argument.