fix duplication of msg/time/level keys, add benchmarks.

Fixes #54, duplication of keys in the output of formatters.

Also:
* sort all the keys by default: when working with grep, it's easier if all the keys are in a known order
* add a benchmark make sure sorted keys don't degrade perf.
* add missing trailing `\n` to stderr messages.

FYI:

```
$ go test -bench .
PASS
BenchmarkSmallTextFormatter	  500000	      7306 ns/op	  13.55 MB/s
BenchmarkLargeTextFormatter	  100000	     29557 ns/op	  11.74 MB/s
BenchmarkSmallColoredTextFormatter	  500000	      4977 ns/op	  27.53 MB/s
BenchmarkLargeColoredTextFormatter	  100000	     25405 ns/op	  21.77 MB/s
BenchmarkSmallJSONFormatter	  200000	     12200 ns/op	  16.06 MB/s
BenchmarkLargeJSONFormatter	   50000	     37334 ns/op	  13.18 MB/s
```

r: @Sirupsen