Linear

Branched version of #212.
In general Diagrams puts upper bounds at the smallest value that could require code changes, assuming the dependency follows the PVP.  That would be something like `linear >= 1.10 && < 1.11`.  Does @ekmettt provide some stronger promise of backwards compatibility for `linear < 2.0` that should change that?