Add initial support for uBoot
Clarify and simplify starting and killing of DHCP and TFTP servers

Because servers run under root, we do not have permissions to kill them.
Normally, this is not a problem, because Ctrl-C kills the servers, because
they are in the same process group and kernel (terminal) don't care
about permissions. If novaboot dies after starting server, we need a way
to kill the servers explicitly. We use pkill command and .pid files
produced by the server. This is quite reliable.
Rework interaction with the target

Only set up bi-directional communication if run on terminal. Also
specify manual_stty on STDIN to not mess up messages from background
server.

I will need to play more with terminal settings, because currently it is
not ideal. See the comment in the patch.