Implement characteristic polynomial
Merge branch 'master' into char_poly

Conflicts:
	src/dense_matrix.cpp
	src/tests/matrix/test_matrix.cpp
Add a description about `char_poly`
Move comment on characteristic polynomial to the header file
Added KroneckerDelta class. Added Tests.
Added API for LeviCivita class and its function definitions

Stuff to be done:
* complete the levicivita function
* update is_canonical accordingly
Updated function of `levi_civita` function. Added tests.

* Also `is_canonical` has been updated accordingly
Remove the declaration of `eigenvalues()`
Updated function decl of `has_dup` to `const vec_basic &arg`
Merge branch 'master' into tensor

Conflicts:
	src/functions.cpp
	src/tests/basic/test_functions.cpp
Merge pull request #256 from thilinarmtb/char_poly

Implement characteristic polynomial
Updated function signature for Tensor Module.

* updated vec_basic arg to const vec_basic& arg
* updated vec_basic&& arg to const vec_basic&& arg
Merge pull request #267 from sushant-hiray/tensor

Tensor Module. Merged #267
Merge branch 'master' into gamma

Conflicts:
	src/functions.h