test: isolate `testConnection` tests

Before this change, all `testConnection` tests shared the same set
of datasources. As a result, mysql tests were using a configuration
with a datasource with an invalid connector. The idea was to test
that the warning about the invalid connector is ignored unless it is
the connector of the tested datasource.

Recently, loopback or loopback-datasource-juggler fixed data-source
setup and throws an error when the connector is not valid. The tests
thus have to ensure the configuration is valid now, which is achieved
by cleaning up any extra datasources before each test.
testConnection: fix a typo in error message

Fix the typo that caused the connector name to be always undefined
in the error message "connector %s is not installed".
datasource-invoke: handle sync errors

Wrap the code in a try/catch block to handle sync errors raised via
`throw`.
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.

Rename the error returned by `invokeMethodInWorkspace` to
`InvocationError`. This make it easy for consumers to distinquish
between errors thrown by Workspace API and errors thrown by the project.
Merge pull request #128 from strongloop/feature/fix-missing-connector-message

Fix missing connector message + other improvements