Append entries benchmarking

@xiangli-cmu I converted the encoding/decoding test into a benchmark. Here's the results I'm getting:

```sh
$ go test -test.bench=.
BenchmarkAppendEntriesEncoding	     100	  12711956 ns/op	  11.96 MB/s
BenchmarkAppendEntriesDecoding	      50	  25537615 ns/op	   5.96 MB/s
```

It's taking about 12ms to encode 2000 entries and 25ms to decode 2000 entries. I'm wondering if it could be slow because of the custom `LogEntry.MarshalJSON()` and `LogEntry.UnmarshalJSON()` calls.