privsep: separate OS specific code to dedicated files

Linux only stuff goes in `priv-linux.c`. This includes interface
handling, ethtool and ability to open files (which is not Linux
specific but only Linux requires this).

BSD stuff goes in `priv-bpf.c` since it only includes interface
handling.

Moreover, `privsep_fdpass.c` is merged into `privsep_io.c`, a new file
for almost everything about IO (read/write and passing FD). The global
`remote` object is put into this file.

This commit is mostly moving stuff around. This will enable the
ability to write interface aliases without putting too much #ifdef.