Add trustworthy pragmas to various safe builder modules and also make
internal modules that expose ByteString constructors unsafe.
Merge pull request #4 from scslab/trust

Add trustworthy pragmas to various safe builder modules.
Port performance patches from private bytestring branch

- simplify chunk insertion (strict bytestrings instead of
  lazy-byestring-continuations)

- bytestring chunk insertion is half as fast as on blaze-builder. This
  performance loss can be attributed completely to the change from using
  'inlinePerformIO' to using 'unsafePerformIO' in the conversion from builders
  to lazy bytestrings. This slowdown can be circumvented by executing
  buildersin the IO monad, where no unsafePerformIO is necessary.

- rewrite some of the primitive builders to a non-recursive form to avoid
  unnecessary closure allocation on the fast path
Make builder tests compile again. All pass.
Mark 'Data.ByteString.Builder.Prim.Extras' as deprecated.
Make benchmarks compile and install again.
Compare integer encoding and bytestring insertion performance to blaze-builder.
Cleanup .gitignore files.