Implement error wrapping so we catch all errors into a single error.
docs were updated, and going to be doing all primary (V1+) work in master branch. when ready for a release, i'll merge it into that particular branch.