Feature/algebra

Okay, main changes:

Tests for CSCMatrix Operators under OptimizationSpace
FrobeniusMatrixNorm is better
Minor refactor to CSCMatrixOps 

I think this is actually how matlab works. Octave certainly does:

```octave
octave:1> speye(10)
ans =

Compressed Column Sparse (rows = 10, cols = 10, nnz = 10 [10%])

  (1, 1) ->  1
  (2, 2) ->  1
  (3, 3) ->  1
  (4, 4) ->  1
  (5, 5) ->  1
  (6, 6) ->  1
  (7, 7) ->  1
  (8, 8) ->  1
  (9, 9) ->  1
  (10, 10) ->  1

octave:2> ans/ans
ans =

Compressed Column Sparse (rows = 10, cols = 10, nnz = 10 [10%])

  (1, 1) ->  1
  (2, 2) ->  1
  (3, 3) ->  1
  (4, 4) ->  1
  (5, 5) ->  1
  (6, 6) ->  1
  (7, 7) ->  1
  (8, 8) ->  1
  (9, 9) ->  1
  (10, 10) ->  1
```