refactor(API): Use custom errorResponse struct

The googleapi pkg provides an Error entity, but it
unnecessaryily serializes a field we do not use.
Creating an equivalent struct that we maintain
works around the problem while retaining the ability
for the client bindings to use googleapi.Error.
I understand, I just don't see it as particularly "nasty" - but as long as clients using `googleapi.Error` are fine, whatevs