changed name of variables row_number and column_number to
row_index and column_index
added exception MatrixIsNotSquare
added functions getUpperTriangularMatrix() and
calculateDeterminantViaTriangularMatrix()
changed name of template typename to ELEMENT_TYPE