Refactor ReadFile: leverage ioutil & reduce allocs

Leverage `ioutil.ReadFile()` method to prevent having to open/close the
file ourselves. Also, we end up reducing our memory footprint in 2 ways:

1. Eliminate our internal buffer
2. Eliminate the memory allocation that comes from string([]byte)
conversion.

From the benchmark included in this test, the running time went down from
17755 ns/op to 14173 ns/op.