Handle the primary monitor
Add a `--swap` option to the `monitor` command
Internal state output syntax overhaul
Factorize client message sending
Keep the *name* section straightforward
Add a `--swap` option to the `desktop` command
Move completions to `contrib`
Fix missing tail/head assignment in swap_*
Update EWMH desktop indexes when swapping
Consolidate `restore --tree`
Exhaustively update EWMH desktops
Fix small typo
Fix warnings
*window_gap* is now a desktop setting

The *config* command was generalized to handle desktop and monitor
settings.
Stack in terms of relative actions

This rewrite is based on a TODO comment for the *stack_refresh*
function of *awesome*:
    It might be worth stopping to restack everyone and only stack `c'
    relatively to the first matching in the list.

And on the concept of relative stacking (via XDG_CONFIG_WINDOW_SIBLING).

Additionally the `adaptative_raise` setting was removed because it
became obsolete when the choice was made of not raising windows when
focusing via `focus_follows_pointer`.

Windows of type *desktop* are now supported (but not managed).
Don't document a non existent setting
Add LightDM examples

Thanks @aoba.
New option for the `rule` command: `--unmanage`

This is useful for clients similar to Screenkey.
Restore split direction
Add monitor padding settings