JAL-3608 non-JS cherry-pick
Cleaned up Look and Feel selection and enabled specific selections via "laf" property or .jalview_properties property "PREFERRED_LAF".
Default behaviour is the same as before for all platforms except Linux which will now always default to "Metal" (ignoring the property 'swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel' that is set by the system in Ubuntu [and plausibly other OSes, though not Kubuntu]). If a laf property is set then this obviously gets used if possible.
Also added an optional gradle 'testLaf' property (e.g. gradle -PtestLaf=metal test) which will set the laf property during tests. Possibly handy to spot differences to test results between mac and build server (which will default to Metal).
Recognised values of "laf" are:
(specific LaFs) "metal", "gtk", "quaqua", "vaqua", "nimbus",
(best guess LaFs) "mac", "system", "crossplatform"