Provide explicit error kind for disambiguation of underlying cause.

Closes #560 

@swankjesse 
Does this include malformed HTTP? It probably does!