Add support for colors with transparency in palettes and legend.

Currently, palettes are composed of opaque colors only.
In addition the legend is always displayed with black background and white text.
It would be desirable to be able to request a legend with a custom background color or tranparent,
and also to specify colors with alpha values in the palettes.
This proposal introduces both improvements, with complete backwards compatibility:

  * Improve handling of color parameters in the requests.

  * Modify the color model generation to handle transparent colors.
    The alpha value of each color is scaled by the opacity value.

  * Modify the color palette reader to support alpha channel values
    in each color definition line (ARGB order). If a line has only
    three values (RGB order) the color is completely opaque,
    providing full compatibility with existing palettes without
    alpha values in their colors.

  * Add `transparent` and `bgcolor` parameters to the legend request
    to control the appearance of the background of the legend.
    This are the same parameters used in a `GetMap` request.
    They default to false and black, so the handling of the legend
    request is backwards compatible if the parameters are omitted.