3200: Workbench copes better when a tab fails to load.
3200: X-Editable renders errors even without a message array.

The previous version was causing the X-Editable popup to spin
infinitely when the JSON errors were null.  See #3207, #3251.
3200: Improve error handling in Workbench's API client.

* Fix the class used for error responses that can be parsed but don't
  have a dedicated subclass.

* Ensure that exception.api_response[:errors] is always an array.

This improves the error reporting for #3207.
Merge branch '3200-ajax-error-handling'

Closes #3200, #3207, #3251, #3276, #3322.