Merge pull request #25 from torgeirsh/master

Added pack and unpack operations
Fixed `lines` to not generate spurious blanks lines.  Fixes #23.
Simplified implementation of `words`
Polished source code
Added rewrite rules to optimize for loops.  Fixes #28
Updated documentation.  Fixes #26

This improves the documentation for `Pipes.ByteString.Parse.take` and
`Pipes.ByteString.Parse.takeWhile` to make it clear that they are contrasting
themselves with the functions of the same name from `Pipes.ByteString`.
Version 1.0.2

Downgraded from 1.1.0 marking since there is no change to the `pipes-parse`
upper bound any longer.
Polished source code
Improved the speed of input pipes

I discovered that `Data.ByteString.hGetN/hGetSome` return an empty `ByteString`
when they encounter end of input, and testing the `ByteString` for `null` is
more efficient than calling `hIsEOF`, so you can greatly improve the speed of
`stdin`, `hGet`, `hGetSome`, and `hGetN` by switching the test to `null`.  This
improves IO speed by about 60-70% on some informal benchmarks.
Version 1.0.2 => 1.0.3
Switched to lens-based parsing
Moved all the parsers to `Pipes.ByteString`
Fixed `splitAt`

It originally misbehaved when given values less than 0, which caused
problems when it recursively called itself.
Removed unused Pipes.ByteString.Parse module
Version 1.0.2 => 2.0.0
Changed type signature type variables for consistency with Pipes.Parse
Renamed `fold` to `foldBytes`
Updated to add `e` type variable to `Parser`s
Updated type signatures to use `Lens'` from `lens-family`
Updated `foldBytes` to point out more efficient alternatives