Convenient functions for Matrices

This PR addresses issue #275. A function similar to [NumPy's eye function](http://docs.scipy.org/doc/numpy/reference/generated/numpy.eye.html) is implemented.

#### TODO

- [x] Add a function for creating diagonal matrices

##### Optional
- [x] Create a function similar to [numpy.ones](http://docs.scipy.org/doc/numpy/reference/generated/numpy.ones.html)
- [x] Create a function similar to [numpy.zeros](http://docs.scipy.org/doc/numpy/reference/generated/numpy.zeros.html)
I guess you could use `abs(k)`, but how do you make the loops the same, as the `i`, `j` are interchanged?