Feature/custom remote

/to @bajtos @seanbrookes 

This adds REST APIs for these custom methods:

 - `GET /datasourcedefinitions/{id}/definitions/:name` => `dataSourceDef.discoverModelDefinition()`
 -  `GET /datasourcedefinitions/{id}/schema` => `dataSourceDef.getSchema()`
 -  `POST /datasourcedefinitions/{id}/automigrate` => `dataSourceDef.automigrate()` (method not yet implemented)
 -  `POST /datasourcedefinitions/{id}/autoupdate` => `dataSourceDef.autoupdate()` (method not yet implemented)
 - `GET /workspaces/component-templates` => `Workspace.getAvailableTemplates()`
 - `POST /workspaces/component` => `Workspace.addComponent()`
 - `POST /workspaces` => `Workspace.createFromTemplate()`
 - `GET /workspaces/connectors` => `Workspace.listAvailableConnectors()`