Add benchmark for conjugate gradient solver.

This benchmark should partially address https://github.com/scipy/scipy/pull/4087#issuecomment-65954520.  In particular, if you make a change to the abstract linear operator infrastructure which causes a huge slowdown, this should be detectable by running this benchmark before and after the change.

```
         generic solve vs. conjugate gradient solve
==============================================================
       shape       | repeats |      operation     |   time   
                                                  | (seconds)
--------------------------------------------------------------
          (16, 16) |   100   |        dense solve |   0.03 
          (16, 16) |   100   |          sparse cg |   0.06 
          (36, 36) |   100   |        dense solve |   0.09 
          (36, 36) |   100   |          sparse cg |   0.09 
        (100, 100) |   100   |        dense solve |   0.32 
        (100, 100) |   100   |          sparse cg |   0.24 
        (256, 256) |   100   |        dense solve |   1.26 
        (256, 256) |   100   |          sparse cg |   0.44 
        (625, 625) |   100   |        dense solve |   5.25 
        (625, 625) |   100   |          sparse cg |   0.55 
      (1600, 1600) |   100   |          sparse cg |   0.32 
      (4096, 4096) |   100   |          sparse cg |   0.82 
    (10000, 10000) |   100   |          sparse cg |   2.49 
    (25600, 25600) |   100   |          sparse cg |  65.20 
```