Add fusion versions of many of the combinators

+ Add the same GHC options as used in conduit ("-Wall -O2 -rtsopts")

+ Adds a 'splitOnUnboundedE' function, which generalizes
'linesUnbounded' / 'linesUnboundedAscii'.

+ For consistency with adding 'splitOnUnboundedE', also adds a
'takeExactlyUntilE' function, which generalizes 'line' / 'lineAscii'.

+ Adds a 'foldl1' function, which is used to implement things like
maximum and minimum.
Add quickcheck tests for stream version of combinators

+ fix issues found
Add stream fusion for sinkLazy / sinkLazyBuilder
Add fusion for the remaining fusion-able operators
Fix install from sdist by adding fusion-macros.h to extra-source-files
Add a benchmark comparing the old definition of maximum with the new one
Fix the line splitting portion of the fusion benchmark
Have "sourceHandleS works" test cleanup its temporary file.

The issue is that the sourceDirectory tests depend on the directory
structure of test/
Bump conduit lowerbound to 1.2.2 + remove compatibility CPP
Add StreamSpec module to the test-suite's other-modules list, fixing sdist