Improve error messages with additional feedback

I've revised all of the error/warning messages to give a bit more context and add some suggestions on fixing.

This addresses the main part of theodi/shared#141. I've also included some additional guidance on a couple of scenarios (outdated CSV content type and incorrect S3 uploads) which closes theodi/csvlint#23.