Don't use a strings.Reader where a bytes.Reader will do.

There are several places where a []byte is converted to a string
and then fed into strings.NewReader().
Don't convert []byte to string unnecessarily.
Use a *println or *print function instead of *printf where appropriate.
A few spelling/grammar corrections.
Don't use an interface{} where a string will do.
Merge pull request #298 from cespare/cleanup-1

Some style, text, and comment cleanup.