Final Version

## The first function takes a matrix as input, and specifies which function
## is to be applied to the matrix. The second function checks the cache
## if it has any information on the inverse of matrix, if yes it takes the
## value from the matrix, otherwise it calculates the value of inverse of
## matrix and return.
## makeCacheMatrix has information about which function is to be
## applied to the martix. In this case we are using solve() to get
## the inverse of the martix. This functions doesn't actually do the
## inverse calculation, it just specefies the function to be applied.