Hopefully fix permgen with fewer inner classes

All the inner Functions for performing the conversion
of measurements may have been causing perm gen exceptions
in the clients. Instead, we now store arrays of doubles
and generate the equation at runtime.
Add C/F/K conversions
Strip null conversions

Rather than store conversions which return a null,
let `map.get()` return a null anyway.
c++/units: attempt to fix symbol map errors
merge develop -Dorg -Ssuccess-only: PR 3156 (Templates cleanup)
merge develop -Dorg -Ssuccess-only: PR 3157 (Reset password)
merge develop -Dorg -Ssuccess-only: PR 3207 (General pane web 2)
merge develop -Dorg -Ssuccess-only: PR 3208 (Update the OMERO install script to test Web login with CSRF (rebased onto develop))
merge develop -Dorg -Ssuccess-only: PR 3217 (Viewer fixes)
merge develop -Dorg -Ssuccess-only: PR 3218 (Units metadata panel)
merge develop -Dorg -Ssuccess-only: PR 3221 (Wrap description text to avoid horizontal scroll bar)
merge develop -Dorg -Ssuccess-only: PR 3228 (fix #11779: graph operations use "compiler" rather than "rollback" strategy)
merge develop -Dorg -Ssuccess-only: PR 3236 (Fix 'Save to All' in Preview panel)
merge develop -Dorg -Ssuccess-only: PR 3237 (Fix web attachment error msg develop)
merge develop -Dorg -Ssuccess-only: PR 3239 (Flake8 top-level OmeroWeb components)
merge develop -Dorg -Ssuccess-only: PR 3240 (Insight units followup)
merge develop -Dorg -Ssuccess-only: PR 3245 (Get pixels size units)
merge develop -Dorg -Ssuccess-only: PR 3247 (C++ green 2)
merge develop -Dorg -Ssuccess-only: PR 3248 (once map key is found, can stop looking)
merge develop -Dorg -Ssuccess-only: PR 3249 (Tables set all metadata 12606)