Allow loading PostGIS Rasters from partially configured connections

Partially configured connection are those for which an hostname
or username or port etc. are not specified, relying on libpq defaults.

It was already fixed for geometries but rasters needed more love.
See #9037.
Allow loading pgraster tables with non-default raster field name

Before this change you could only load tables where the raster
field was named "rast".
[FEATURE] Visibility groups of map layers in layer tree

New toolbar button allows quick changes between the groups of layers that should be visible.
Also features a simple way for management of the groups (add/remove)
[FEATURE] Access to visibility groups in map composer
fix warnings
postgres provider: don't warn, when queries return 'numeric' constants
Fix Mac build
Fix crash when trying to edit color ramp with black start/end colors
Visibility groups: also record visibility states of renderer categories (legend nodes) into groups

Visibility of a layer is not stored within the map layer, but visibility
of renderer categories (which turn into legend nodes) is stored inside renderer and
that one in turn inside map layer. This fact may result in surprising behavior
when change of visibility group for a composer map will affect other composer maps (and main canvas).
The only way to overcome the problem would be to have the possibility to use multiple renderers with one layer.
[FEATURE] Toolbar for layer tree specific actions
Fix #11143 (remove visibility groups after removal of a layer)
Keep a bit of spacing in layer tree dock widget
If layer is in editing mode, show the pencil icon instead of embedded legend icon
Respect the overridden layer name in composer legend also in rendered legend