Fix a bug in `set()` in CSRMatrix and add tests for csr_binop_csr_canonical

* `set()` method in CSRMatrix was not considering the case where we set
  a non-zero element to zero