Get in-place tests working "properly"
Ensure that an encoding error handler's result is safe

--HG--
extra : amend_source : c4036e7a53a663f37b2379806739b48c65a9c014
Fix test build with older bytestring

--HG--
extra : amend_source : d349d2b76eda5d23dbefd8137c4456e854628b4c
Fix benchmarks with older bytestring'
Try to sort out benchmark build with GHC 7.6
Document internal units and representation
Add left folds with early termination.

This generalization allows expressing left folds that don't need to
process the entire sequence, such as various searching functions.