Improve the `space` error message a bit.
Add a `letter` parser.
Add `lower` and `upper` parsers.
Improve the `any_char` EOF error message.

Technically, we don't know if we're *really* expecting "any"
character or if the caller is going to check it for validity
after parsing it. So just using "a" is a bit more accurate.
Sanitize the `string` implementation.
Add a `kind` field to `Error`.