Add bsddialog(1) front end for bsdconfig(8).
```
== bsdconfig ==
+-----------+
| bsdconfig | Menu to choose:
+-----------+
+------------+ +------------+ +----------+ +----------+
| docinstall | | networking | | packages | | timezone | ....
+------------+ +------------+ +----------+ +----------+
|
v
========================================================================
+--------------------------------------------------------------+
| Middleware: functions to abstract the level below, |
| (mainly in share/ common.subr, dialog.subr, ...) |
+--------------------------------------------------------------+
========================================================================
| |
v v ^
|
+-----------+ +------------+ +----------------- +
| dialog(1) | | Xdialog(1) | | bsdinstall(8) |
+-----------+ +------------+ +------------------+
dialog and, Xdialog are used, and now bsdconfig uses: docsinstall and partedit,d
via middleware. some component [*] includes share/.
[*]: auto, bootconfig, docinstall, hosyname, jail, keymap, netconfig_ipv4,bsddialog are used via partedit;
netconfig_ipv6, script, wlanconfig, zfsboot.middleware. some bsdinstall script includes
bsdconfig/share/.
+--------------+
| bsddialog(1) |
+--------------+
======
```
Minumum insertionAdd hooks to allow bsdcoconfig(8) to use bsddialog(1).
`DIALOG=dialog` in share/dialog.subr restores dialog(1) by default.
Added TUI_UTILITY to allow bsdinstall scripts to continue to use dialog.
It should be deleted after the "dialog-bsddialog" replacementent.
--------
This is the minimum changes solution, of course can be improved.
`DIALOG=dialog` restores dialog(1) so a shell scripting expert can add a command-line option to use also dialog(1) useful: for unicode characters and for using bsdconfig(8)' s autosize menu code (*). Otherwise the code for dialog(1) can be deleted, I have not a strong option.
(*) bsddialog should support unicode already, I has to change strlen() with a function to get the right string length. Autosize with --backtitle is easily improved. Both problems are in TODO list).
TUI_UTILITY allows to continue the weekly replacements avoiding one-big-change for bsdinstall.
The remaining scripts are: auto, bootconfig, docinstall, hosyname, jail, keymap, netconfig_ipv4, netconfig_ipv6, script, wlanconfig, zfsboot.