Divide socket driver from RPC stuff

This is first step to make more general approach for handling sockets,
files etc.
Initial support for UART

UART support has following limitations:
- all UART blocks doesn't work with external mode - standalone mode only
- only one UART module can be used in model
- flow control isn't supported at the moment
MLink upgrade

MLink 1.2 with mlink_dsp_upload() call for DSP autostart feature
Merge branch 'experimental'
Bigger buffer for external mode data exchange
PWM support

Initital support for MicroDAQ PWM outputs. User can set pwm duty by
passing value in range of 0 - 100%.