Add a filled background to SPY() plots.

This goes some way to appeasing #803, but I'm not sure I like it.

Furthermore, it will always plot a filled block for non-zero entries (what is diagonal anymore?) and it always fills all BC rows.
Separated linop.spy from chebDiscretization.spy. Further improvements needed to linop.spy.
Revert "Separated linop.spy from chebDiscretization.spy. Further improvements needed to linop.spy."

This reverts commit b28aa81f307c79f74693ecc42dc0a1abf9a62d01.
Revert "Revert "Separated linop.spy from chebDiscretization.spy. Further improvements needed to linop.spy.""

This reverts commit 43a67eb561c2ebf00b14a87813543df21e5d4be2.
Keep linop.spy from drawing dots, and go to no transparency.
Merge branch 'development' into fix-linop-spy
Improvements to spy spacing, and draw each constraint separately.
First go at v4 spy plot for CHEBOPs.
Tidying up of code for @chebop/spy.
Reverting back to previous behaviour for linop/spy().

@tobydriscoll to confirm he's happy about this.
Merge branch 'fix-linop-spy' into development
Merge branch 'development' of ssh://github.com/chebfun/chebfun into development