mesonconf: reorder output columns
mesonconf: reorder output columns

mesonconf prints build dir information in the order of

  'Option' 'Description' 'Current Value' and, optionally, 'Possible Value'.

The Description tends to be longer and push the following values far
right, sometimes way far than fits in the full screen size of a
terminal on a FullHD monitor.

Experienced users know which options they want to change without
looking at the description string however they need to check the
current values for sure.

This patch moves the description to the last column.  Now mesonconf
prints options in the following order:

  'Option' 'Current Value' 'Possible Value' 'Description'

To implement this, mainly print_aligned() is modified.  The second
argument of the function is changed from

 - array of array of string to
 - array of dict with 'name', 'descr', 'value', and 'choices,

which maps to 'option', 'description', 'current value' and 'possible
values', respectively.

Since the position of the possible values are moved before its
description, the presence and the length of it affects header as well
as the following description.  Thus, we cal curate it before printing
the header.

To avoid re-calculation, we keep string version of the values and
flattened version of the possible values _in the given array_, which
means that now the print_aligned() function modify the the given
array.  The current callers do not use the passing array.  So there
should be no bad effects.

mesonbuild/meson,wberrier/meson,trhd/meson,fmuellner/meson,QuLogic/meson,jpakkane/meson,aaronp24/meson,rhd/meson,becm/meson,jeandet/meson,aaronp24/meson,QuLogic/meson,wberrier/meson,ernestask/meson,ernestask/meson,wberrier/meson,becm/meson,QuLogic/meson,mesonbuild/meson,rhd/meson,jpakkane/meson,aaronp24/meson,aaronp24/meson,pexip/meson,rhd/meson,rhd/meson,thiblahute/meson,mesonbuild/meson,MathieuDuponchelle/meson,becm/meson,MathieuDuponchelle/meson,fmuellner/meson,pexip/meson,trhd/meson,mesonbuild/meson,becm/meson,jpakkane/meson,becm/meson,fmuellner/meson,jeandet/meson,becm/meson,aaronp24/meson,fmuellner/meson,pexip/meson,becm/meson,pexip/meson,ernestask/meson,jpakkane/meson,MathieuDuponchelle/meson,pexip/meson,aaronp24/meson,QuLogic/meson,becm/meson,thiblahute/meson,jeandet/meson,wberrier/meson,becm/meson,ernestask/meson,trhd/meson,QuLogic/meson,thiblahute/meson,ernestask/meson,rhd/meson,MathieuDuponchelle/meson,jpakkane/meson,fmuellner/meson,ernestask/meson,mesonbuild/meson,fmuellner/meson,trhd/meson,thiblahute/meson,fmuellner/meson,jpakkane/meson,MathieuDuponchelle/meson,aaronp24/meson,rhd/meson,rhd/meson,aaronp24/meson,trhd/meson,wberrier/meson,jpakkane/meson,pexip/meson,thiblahute/meson,trhd/meson,QuLogic/meson,mesonbuild/meson,becm/meson,ernestask/meson,mesonbuild/meson,wberrier/meson,jeandet/meson,jpakkane/meson,jeandet/meson,trhd/meson,QuLogic/meson,thiblahute/meson,pexip/meson,thiblahute/meson,fmuellner/meson,ernestask/meson,trhd/meson,jeandet/meson,trhd/meson,mesonbuild/meson,MathieuDuponchelle/meson,jeandet/meson,QuLogic/meson,mesonbuild/meson,rhd/meson,aaronp24/meson,pexip/meson,jeandet/meson,MathieuDuponchelle/meson,wberrier/meson,jeandet/meson,pexip/meson,mesonbuild/meson,MathieuDuponchelle/meson,ernestask/meson,jpakkane/meson,thiblahute/meson,fmuellner/meson,thiblahute/meson,pexip/meson,wberrier/meson,MathieuDuponchelle/meson,QuLogic/meson