Improved handling of API errors; fixed tests

Some API responses indicate an error by including an 'errors' attribute
in the response that is a list of errors, others still return an
'errors' attribute that is a count of the number of errors, with the
'data' attribute listing the errors encountered.

Also fixed up the chimpy tests (and added a new one to cover the new
error handling) so they all pass.