lib/strings: Buffers are allocated without capacity.

Wait the fist `append` to allocate things.
Also, this avoids an anonymous init to call a named init.

Signed-off-by: Jean Privat <jean@pryen.org>
lib/exec: rationalize constructors

Signed-off-by: Jean Privat <jean@pryen.org>
lib/opts: clean constructors and prepare for new constructors

Signed-off-by: Jean Privat <jean@pryen.org>
lib/privileges: drop class `OptionDropPrivileges`

And use the commented named constructor instead.

Signed-off-by: Jean Privat <jean@pryen.org>
lib/ropes: use `redef` for inherited named constructors

Signed-off-by: Jean Privat <jean@pryen.org>
parser: drop useless named constructor `empty_init`

Signed-off-by: Jean Privat <jean@pryen.org>