overhaul matrix.py, see extended description

* Update documentation/comments
* Use Matlab style matrix syntax for construction and matrix coordinates
* Remove _number_of_rows/_number_of_columns/_row_length/_col_length with
m and n for rows and columns resepectively
* Add helpers for parsing input in constructors and setters as well as
checking if the input is valid with _parse() and _check()
* Implemented individual set and get functions for single data points in
the matrix
* Add skeleton for fliplr() -> reversing arrays/rows/columns