Fix API error handling

When authentication fails, it returns `"{\"error\":\"Unrecognized API key\"}"`. The error handling code tried to read error[:message], which would throw a TypeError since error is just the string "Unrecognized API key".

Many people probably hit this problem because Clever Dev docs tell you to use DEMO_TOKEN as your API key, when you actually have to use it as your token or use DEMO_KEY as your API key.

I wasn't sure what other API errors look like, so I check if it's a hash before looking for message.