SparseMatrix Arithmetic
A new function for sparse-vector multiplication with domain as arguments
New function for Matrix Vector Multiplication. Also included domains as the argument
The first operations are added _add and _sub. I have a clear direction for _mulspsp and  will commit that tomorrow. Tests are not added yet. This commit is simply to show others what I am up to.
I have removed--

_add and _sub. will later implement the same code as in sparse.py but in procedurally

I have added--

_mulscsp for multiplication of a matrix in csr representation by a scaler.

_mulspsp, _mulspsp2, _mulspsp3 are three implementation of mulitplications of sparse matrices. Profile results can be found in [1]

_mulspvec multiplication of sparse matrix by a vector. It is much faster than earlier implementation. [1]

_applyfunc applies the function to all elements of a matrix in csr representation. Takes slightly less function calls than earlier one [1]

I have implemented CSR counterpart to these algorithms because I intend to use CSR representation to store the matrix internally. The reason are-
--CSR takes less space than DOK
--If DOK is needed, like in addition or subtraction or in sparse*sparse, CSRtoDOK conversion is quite fast.
--Code is much simpler to understand and hence less clumsy.

[1] http://sympymatrix.blogspot.in/2013/06/week-25-profiling-of-different.html
Addition of transpose and trace
Preliminary operations of dense matrix
Basic Level 0 of dense, commented lines are TODO
Removed unwanted changes