Merge tag 'v3.1.0'

3.1.0
Add custom remote method definitions
Fix typo

See https://github.com/strongloop/loopback-workspace/issues/95
Merge branch 'master' into feature/rest-api
Fix the comment
Add test for creating datasources over REST
Fix removing models not removing from the file system
Merge pull request #103 from strongloop/fix/create-ds

Add test for creating datasources over REST
Merge pull request #102 from strongloop/fix/delete-model-defs

Fix removing models not removing from the file system
DataSourceDefinition: handle unknown connector

Add a static version of `testConnection` that can be used without
persisting the definition.

Fix the implementation to handle the case where the connector specified
in the definition is not installed in the project using
loopback-workspace.
Merge pull request #110 from strongloop/feature/test-connection-improvements

DataSourceDefinition: handle unknown connector
package: update fs-extra

The version v0.11 fixes the issue of missing EOL at EOF when writing
a JSON file.
Merge pull request #112 from strongloop/feature/update-fx-extra

package: update fs-extra
DataSourceDefinition: fix remoting metadata

Fix a typo in testConnection remoting metadata.
models: make PackageDefinition public
Merge pull request #113 from strongloop/feature/export-package-definition

models: make PackageDefinition public
test: increase timeout for `npm install`
facet: use a static version of getUniqueId

Remove an unnecessary call of `new ModelDefinition`, pass the definition
data directly to `ModelDefinition.getUniqueId`.
Definition.addToCache: remove related models

When adding a definition to datasource cache, data of the related models
embedded in the configuration must be removed.

See strongloop/loopback-datasource-juggler#242
WorkspaceEntity.getFromCache: improve error msg

Catch JSON syntax errors and add model name & id to the error message
thrown.