OMERO.matlab: return orphans in getProjects()/getScreens() (rebased onto develop)


This is the same as gh-2670 but rebased onto develop.

----

This PR is a RFE largely inspired by @mporter-gre which adds support for orphan loading and returning in the `getXXX` functions using `parameters.orphan()`. 

To test this PR:
- make sure the training CI job now reads and displays the orphaned datasets/plates populated by the training script in the console output
- check the extra argument returned by `getProjects()` works as expected

  ```
  projects = getProjects(session, [], false); % only projects are returned
  [projects, datasets] = getProjects(session, [], false); % datasets should contain the unloaded orphaned datasets
  [projects, datasets] = getProjects(session, [], false, 'owner', ownerId);  % return projects/orphaned datasets owned by ownerId in a read-only/annotate group
  [projects, datasets] = getProjects(session, pid, false); % datasets should be empty
  ```

- check the same example as above works for `getScreens()`
 
    ```
  Screens = getScreens(session, []); % only Screens are returned
[Screens, plates] = getScreens(session, []); % plates should contain the unloaded orphaned plates
[Screens, plates] = getScreens(session, [], 'owner', ownerId);  % return Screens/orphaned plates owned by ownerId in a read-only/annotate group
[Screens, plates] = getScreens(session, sid); % plates should be empty
  ```
- check that `getDatasets()/getPlates` are still working as expected