MtMat, MtMatGF: Factor methods outside class definition

Signed-off-by: Nikola Georgiev <georgiev.nikito@gmail.com>
MtMat: Added some more functionality

[Comments]
    - Added static functions Identity() and Zero()
    - Added methods IsIdentity() and IsZero()
    - Added copy constructor
    - Added constructor init from std::vector

Signed-off-by: Nikola Georgiev <georgiev.nikito@gmail.com>
MtPolyGF_Test: Remove temp code from test

Signed-off-by: Nikola Georgiev <georgiev.nikito@gmail.com>
MtMat, MtMatGF: Add Matrix Multiplication

[Comments]
    - Dot() function added to both MtMat and MtMatGF
    - 2x2 inverse bug fixed
    - Componentwise Multiplication added to MtMat

Signed-off-by: Nikola Georgiev <georgiev.nikito@gmail.com>
MtVec: BUGFIX: switch push_back to accept const reference

[Comments]
    - switched push_back() method to accept const reference in order to
      enable the usage of numerical literals

Signed-off-by: Nikola Georgiev <georgiev.nikito@gmail.com>
MtVec: Add IsZero() method

Signed-off-by: Nikola Georgiev <georgiev.nikito@gmail.com>
MtPoly: add modulo operation

Signed-off-by: Nikola Georgiev <georgiev.nikito@gmail.com>