Improvements to the QA upgrade script

This PR reviews the [OMERO-qa-upgrade.py](OMERO-qa-upgrade.py) script to support the upgrade of multiple OMERO instances on the same Jenkins node (e.g. OMERO 4 and OMERO 5)

- fix some hard-coded `OMERO-CURRENT` to systematically use the `SYM` envvar across the script
- refactor the artifact component listing using a dictionary to simplify the addition of downloadable artefacts
- refactor `download_server()` into a generic `download()` method
- add logic to call `bin/omero admin ports --prefix ` using the `PREFIX` environment variable

 ```
PREFIX=1 python OMERO-qa-upgrade.py
```
- set the `BUILD_ID` environment variable to `DONT_KILL_ME` when called from Jenkins job to prevent server shutdown at job termination

To be tested in the context of the  [OMERO-matlab-training-stable](http://hudson.openmicroscopy.org.uk/view/Matlab/job/OMERO-matlab-training-stable/) and [OMERO-matlab-training-develop](http://hudson.openmicroscopy.org.uk/view/Matlab/job/OMERO-matlab-training-develop/) jobs

/cc @manics