Report `ping` errors as HTTP 200

Modify `testConnection` to distinquish between project-level errors
(e.g. missing module dependencies) and datasource-configuration errors
(e.g. invalid credentials). The latter is reported in an `error`
property sent back in an HTTP 200 response.