Build infrastructure for benchmarks
Initial benchmark code

Example requests implemented in http-streams and http-conduit. This
is a bit apples and oranges as yet; the conduit version doesn't do
anything with the headers.
Ensure conduit example comparable to streams one

Thanks to Erik de Castro Lopo for fixing the code that ensures headers
are output the same as in the http-streams example.
Add SCC annotations to Show instances
Add -rtsopts when building snippet
Adapt to changed signature of withOutputFile
Fork Snippet to ExperimentalSnippet

Fork demonstration code file to ExperimentalSnippet, leaving Snippet
as a placeholder for code being currently played with - in this case,
for profiling.
Inline combine function
Add GHC profiling options

Based on comments by Gregory Collins, add ghc-prof-options to .cabal
file.

Ensure cabal configure run when necessary before `make doc`.
Ignore tags file if present
Cleanup snippet code
Direct entire body to stdout
Minor cleanups to README
Merge branch 'master' into performance
Isolate loading of test data

Add a complete HTTP response as example2.txt.

Modify Snippet to only load the sample file once, reducing the surface
that needs benchmarking.
Build tags file with hasktags
Use bytestring-lexing for Int parsing

Performance improvement to receiveResponse: based on profiline, switch
to using Data.ByteString.Lex.Integral's readDecimal functions to parse
the Content-Length header into an Int. Thanks to Carl Howells for his
suggestion of bytestring-lexing.
Trivial whitespace changes
Exuberent tags were confusing vim

Actually, vim was fine, until you hit a tag that came from a source
line with a non ascii character. Then it got into a terrible muddle.
Use Builder when serializing Request and Response

Convert to use of blaze-builder when composing Request and Response
bytes for transmisison, instead of S.concat.

Profiling was ambigious; the allocation was the same regardless of
which technique is used, but the code is equivalently simple and may
be faster.