Reorganization and ADC functionality

Changes:
- cleanup code @eggerdo 
- reorganization according to folders
- wrapping code in C++ files
- solving "extern C" bug w.r.t. calling IRQ handler