Implement MatrixIndex as a node with generator transform

Currently luacode generatore does not work if MatrixSlice is used in the
left hand side of assignements.
Implement MatrixSlice rule in lua code generator

When a matrix slicing term is present in the LHS of an assignment a
temporary variable is used to store the value of the RHS. After the
assignment a call to matrix.__slice_assign is done to actually store the
values.
Cosmetic fix of white spaces and indentation errors
Improve implementation of Lua code generator

Use a class with metamethods to implement methods for the code generator.
Add also a function to print a simple expression.
Improve debug messages for relocating index checks