Clean up text_formatter code with a byte.Buffer
Merge pull request #32 from aarondl/master

Clean up text_formatter code with a byte.Buffer
Added support to chain withfields

`WithField` and `WithFields` right now doesn't chain properly. Meaning
that if you do something like:

    localLog := logger.WithField("tag", "value")
    localLog.WithField("v1", "value").Info("message1")
    localLog.Info("message2")

The `v1` will be carried over to `message2`.

With this patch, each WithField/WithFields call are isolated.
Added test
Merge pull request #34 from shuhaowu/chained-with-fields

Added support to chain withfields
go fmt
Merge pull request #37 from eapache/fmt

go fmt
Checks that the `error` field is really and `error` type.
Merge pull request #40 from aybabtme/assert-type-avoid-panics

Checks that the `error` field is really of `error` type.