DF: Add hosted support to DeviceIdentifier.
Architecture: Move hosted/windows to core/windows.
Architecture: Move linux/display to peripheral/graphics/linux/.
Architecture: Move linux/tipc to peripheral/tipc/linux/.
Architecture: Move linux/serial* to peripheral/uart/linux/.
Architecture: Move hosted/terminal* to peripheral/uart/hosted/.
Architecture: Remove hosted/.
Architecture: Move communication/can/canusb* to peripheral/can/linux/.
XML: Add linux device file.
Architecture: Remove hosted.hpp and reference in platform.hpp.in.
Architecture: Move static serial interface and serial_interface.hpp into hosted.
Architecture: Adapt all include paths.
SCons: Adapt build system for hosted.
XML: Add darwin device file.
XML: Add darwin device file for real.
SCons: Adapt device string for hosted.

Instead of using `${hosted}`, which is a magic string that defies logic
and breaks minds, we now simply use `hosted` for a project that should
run on any hosted system.
This will use the linux, darwin or windows device file, depending on
the underlying OS.

You may also force a specific device file, by explicitly specifying it:
- `hosted/linux` for linux,
- `hosted/darwin` for darwin, and
- `hosted/windows` for windows.
Peripheral: Uart/Can: Move serial_port.* and canusb.* to hosted/.
Scons: Hosted: Link boost_system on hosted/darwin.
Examples: Adapt device in project.cfg.
Architecture: Adapt CanUsb to xpcc::Can interface.