Do not hardcode stm32 target

Now, the user is supposed to select the target by manually copying or
symlinking the appropriate config.target.* file to config.target.
stm32: Add platform specific files
Add headers section for stm32
Add more ifdefs for stm32
stm32: Add USART driver to Makefile
stm32: Fix condition in the event loop implementation
stm32: Change frequency of timer interrupt
stm32: Add fputc function to _write, so printf prints on serial line
Add function to print CAN frames
Add demo 1signal
Change 1signal configuration
Add macan_request_expired_keys to header file
Unify variable reference style in Makefile

At all places, we use $() style instead of ${} shell.
Simplify make MaCAN Makefile
Introduce separate build directories for each target platform
Move generic source for stm32 out of the macan directory

Basically, this means that all 3rd party source code (libnettle code
from ST for STM32) is moved to the root directory. Macan directory
contains only MaCAN-specific code. This simplifies the Makefile.omk of
the macan library.

TODO: Applications (demos) will need to be modified to link not only the
macan library but also the new libraries - nettle and stm32rt.